Rumah  >  Artikel  >  Tutorial sistem  >  Sandaran semudah itu: mengajar anda cara menggunakan perintah rsync Linux dengan mudah

Sandaran semudah itu: mengajar anda cara menggunakan perintah rsync Linux dengan mudah

WBOY
WBOYke hadapan
2024-02-13 09:33:021173semak imbas

Dalam penggunaan harian komputer moden, sandaran data amat penting. Untuk pengguna Linux, arahan rsync ialah kaedah biasa untuk membuat sandaran dan menyegerakkan fail. Ia membolehkan penyegerakan data yang pantas dan cekap antara sistem atau folder tempatan yang berbeza.

Latar belakang projek: Penyegerakan data diperlukan antara pelayan A dan pelayan B (sama ada 1-ke-1 atau banyak-ke-banyak, berikut ialah contoh 1-ke-1 yang mudah Penyelesaian ini sering digunakan untuk pemulihan bencana jauh).

备份就是那么简单:教你轻松使用 Linux rsync 命令

Terdapat kira-kira dua jenis penyelesaian penyegerakan berdasarkan senario aplikasi, penyegerakan berjadual dan penyegerakan masa nyata. Penyegerakan berjadual mempunyai ciri-ciri masa penyegerakan tetap, prestasi masa nyata yang lemah, dan penggunaan sumber yang rendah mempunyai ciri-ciri prestasi masa nyata yang kuat, penyegerakan intensif, dan penggunaan sumber yang tinggi;

1. Penyegerakan berjadual

1. Pasang perisian:

yum install rsync -y

2. Log masuk tanpa kata laluan (anda juga boleh menggunakan teks biasa untuk mensimulasikan log masuk interaktif, tetapi dari perspektif keselamatan, adalah disyorkan untuk menggunakan log masuk tanpa kata laluan):

ssh-keygen -t rsa

Selepas penjanaan, anda boleh memasukkan cd direktori ~/.ssh/ dan menyalin kekunci yang dijana ~/.ssh/id_rsa.pub kandungan ke /root/.ssh/authorized_keys pada hos jauh

Ramai pelajar di sini ingin tahu mengapa tidak perlu memasukkan kata laluan untuk operasi di atas Pelajar yang tahu log masuk tanpa kata laluan boleh melangkau pengenalan ini. Berikut ialah pengenalan kepada prinsip log masuk tanpa kata laluan:

rsa juga dipanggil algoritma kunci asimetri, yang sepadan dengan algoritma kunci simetri.

Algoritma kunci simetri yang dipanggil ialah komunikasi antara A dan B. Bagi membolehkan kedua-dua pihak mengesahkan identiti masing-masing, A dan B bersetuju dengan kunci k yang diketahui oleh kedua-dua pihak untuk menentukan identiti seperti berikut:

A => (mk) B A menghantar m teks biasa dan kunci K kepada B, dan B mengesahkan bahawa kekunci K adalah sama dengan perjanjian A sebelum ini, dan kemudian ia boleh memastikan bahawa identiti A adalah benar. Begitu juga sebaliknya, perkara yang sama berlaku untuk komunikasi dari B ke A.

Penyulitan asimetri memerlukan dua kunci: kunci awam dan kunci peribadi. Kunci awam dan kunci persendirian adalah sepasang Jika kunci awam digunakan untuk menyulitkan data, ia hanya boleh dinyahsulit dengan kunci persendirian yang sepadan. Jika kunci persendirian digunakan untuk menyulitkan data, ia hanya boleh dinyahsulit menggunakan kunci awam yang sepadan. Kerana kunci yang berbeza digunakan untuk penyulitan dan penyahsulitan, ia dipanggil penyulitan asimetri.

Jadi operasi di atas berkongsi kunci awam pelayan A dengan pelayan B (hos jauh), jadi pelayan A tidak lagi memerlukan input kata laluan interaktif tradisional untuk log masuk ke pelayan B. Pelayan B boleh mengesahkannya melalui kunci awam pelayan A . Ketulenan pelayan A (kunci peribadi).

[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts

3. Tulis skrip shell

[root@localhost ~]# vim back.sh
#!/bin/sh
rsync -avz -e 'ssh -p 22' root@x.x.x.x:/XXX/pub /data/

Nota: Penyegerakan data rsync dibahagikan kepada dua tindakan berbeza: tarik dan tolak Sebelum menulis skrip, pastikan anda menguji sama ada arahan itu boleh dilaksanakan secara normal.

4. Konfigurasi pelaksanaan berjadual Crontab (laksanakan skrip pada pukul 3 setiap hari)

Pada ketika ini, penyegerakan berjadual dikonfigurasikan.

2. Penyegerakan masa nyata

备份就是那么简单:教你轻松使用 Linux rsync 命令

Pengenalan kepada Inotify

Inotify ialah ciri Linux, tersedia sejak versi 2.6.13, yang memantau operasi sistem fail seperti membaca, menulis dan mencipta. Inotify sangat responsif, sangat mudah untuk digunakan dan jauh lebih cekap daripada mengundi sibuk tugas cron.

Mula mengkonfigurasi Inotify

Nota: rsync perlu dipasang pada kedua-dua pelayan A dan B sebelum bermula.

1 Laraskan parameter kernel inotify pada pelayan B, vim /etc/sysctl.conf

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576

2 Jadikan pelarasan parameter kernel inotify berkuat kuasa serta-merta

sysctl -p

3. Pasang Inotify-Tool

# 先安装扩展包源,否则inotify-tools找不到
yum install epel-release
yum install inotify-tools 

4. Buka dua terminal, satu terminal melakukan operasi seperti penciptaan dan pemadaman, dan satu lagi melaksanakan alat Inotify-Tool Ia berfungsi seperti biasa apabila menguji alat Inotify-Tool

inotifywait -mrq -e modify,create,move,delete /var/www/

inotifywait:用于持续监控,实时输出结果
inotifywatch:用于短期监控,任务完成后再出结果

5. Tulis skrip

vim /root/tongbu.sh

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /root/cs"

RSYNC_CMD="rsync -avz -e 'ssh -

p 22'  /root/cs/  root@x.x.x.x:/root/cs/ "
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
    if [ $(pgrep rsync | wc -l) -le 0 ] ; then
        $RSYNC_CMD
    fi
done

Nota: Beri perhatian khusus di sini, jangan mengelirukan hubungan logik, ia adalah pelayan B menolak dan pelayan A.

6 Tambahkan latar belakang automatik yang berjalan pada permulaan, edit fail /etc/profile, dan tambahkan pernyataan berikut pada baris terakhir

.

/bin/bash /root/tongbu.sh &

Ini melengkapkan penjelasan penyegerakan berjadual dan penyegerakan masa nyata. Menggunakan penyelesaian yang berbeza mengikut senario yang berbeza memerlukan tindak balas yang fleksibel, dan perhatian khusus harus diberikan kepada perkara ini. Untuk penyelesaian penyegerakan masa nyata, direktori pemantauan tidak boleh ditetapkan sebagai direktori log, jika tidak, CPU pelayan mungkin melonjak dan ia mungkin ranap.

Ringkasnya, arahan rsync ialah alat penyegerakan dan sandaran fail yang sangat berkuasa, fleksibel dan cekap. Sama ada dalam penggunaan harian atau dalam persekitaran pengeluaran, ia boleh menggunakan kelebihannya yang unik. Melalui pengenalan dan amalan artikel ini, saya percaya bahawa semua orang telah menguasai penggunaan asas dan kemahiran arahan ini. Saya harap anda boleh menggunakan perintah rsync dengan lebih baik untuk mengurus dan melindungi data anda dalam penggunaan Linux anda pada masa hadapan!

Atas ialah kandungan terperinci Sandaran semudah itu: mengajar anda cara menggunakan perintah rsync Linux dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam