RDIFF -BACKUP - Alat sandaran tambahan jauh untuk Linux

RDIFF -BACKUP - Alat sandaran tambahan jauh untuk Linux

Rdiff-backup adalah skrip python yang kuat dan mudah digunakan untuk sandaran tambahan tempatan/jauh, yang berfungsi pada sistem operasi POSIX seperti Linux, Mac OS X atau Cygwin. Ia menyatukan ciri -ciri cermin yang luar biasa dan sandaran tambahan.

Secara ketara, ia mengekalkan subdirektori, fail dev, pautan keras, dan atribut fail kritikal seperti kebenaran, pemilikan UID/GID, masa pengubahsuaian, atribut lanjutan, ACL, dan garpu sumber. Ia boleh berfungsi dalam mod yang cekap lebar lebar di atas paip, dengan cara yang sama seperti alat sandaran rsync yang popular.

Rdiff-backup menyokong satu direktori ke satu lagi melalui rangkaian menggunakan SSH, menyiratkan bahawa pemindahan data disulitkan dengan itu selamat. Direktori sasaran (pada sistem terpencil) mengakhiri salinan tepat direktori sumber, namun diffs terbalik tambahan disimpan dalam subdirektori khas dalam direktori sasaran, memungkinkan untuk memulihkan fail yang hilang beberapa waktu lalu.

Kebergantungan

Untuk menggunakan rdiff-backup di Linux, anda memerlukan pakej berikut yang dipasang pada sistem anda:

  • Python v2.2 atau lebih baru
  • Librsync v0.9.7 atau lebih baru
  • Modul Pylibacl dan Pyxattr Python adalah pilihan tetapi diperlukan untuk senarai kawalan akses POSIX (ACL) dan sokongan atribut lanjutan masing -masing.
  • statistik rdiff-backup memerlukan python v2.4 atau lebih baru.

Cara memasang rdiff-backup di linux

Penting: Sekiranya anda beroperasi melalui rangkaian, anda perlu memasang kedua-dua sistem rdiff, sebaiknya kedua-dua pemasangan rdiff-backup mesti menjadi versi yang sama.

Skrip ini sudah ada di repositori rasmi pengagihan Linux arus perdana, hanya jalankan arahan di bawah untuk memasang rdiff-backup serta kebergantungannya:

Intall Rdiff-backup di Ubuntu

Untuk memasang Rdiff-backup pada Ubuntu fokus atau Debian Bullseye atau lebih baru (mempunyai 2.0).

$ sudo apt-get update $ sudo apt-get install librsync-dev rdiff-backup 

Untuk memasang Rdiff-backup di Ubuntu backports untuk versi lama (memerlukan 2 yang dibalikkan.0).

$ sudo add-apt-repository ppa: rdiff-backup/rdiff-backup-backports $ sudo apt update $ sudo apt install rdiff-backu 

Pada centos/rhel 8

Untuk memasang rdiff-backup di CentOS dan RHEL 8 (dari COPR).

$ sudo yum memasang yum-plugin-copr-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup 

Pada centos/rhel 7

Untuk memasang rdiff-backup di CentOS dan RHEL 7 (dari COPR).

$ sudo yum memasang yum-plugin-copr-release $ sudo yum copr enable frankcrawford/rdiff-backup $ sudo yum install rdiff-backup 

Pada centos/rhel 6

$ sudo yum pemasangan centos-release-scl $ sudo yum install rh-python36 gcc libacl-devel $ scl enable rh-python36 bash $ sudo pip pemasangan rdiff-backup pyxattr pylibacl $ echo 'exec scl enable rh-python36-rdiff-backup "[E -mel dilindungi]" '| sudo tee/usr/bin/rdiff-backup $ sudo chmod +x/usr/bin/rdiff-backup 

Di Fedora

Untuk memasang rdiff-backup di Fedora 32+.

$ sudo dnf memasang rdiff-backup 

Cara Menggunakan Rdiff-Backup di Linux

Seperti yang saya nyatakan sebelum ini, Rdiff-backup Menggunakan SSH untuk menyambung ke mesin jauh di rangkaian anda, dan pengesahan lalai di SSH adalah kaedah nama pengguna/kata laluan, yang biasanya memerlukan interaksi manusia.

Walau bagaimanapun, untuk mengautomasikan tugas -tugas seperti sandaran automatik dengan skrip dan seterusnya, anda perlu mengkonfigurasi log masuk tanpa kata laluan SSH menggunakan kekunci SSH, kerana kekunci SSH meningkatkan kepercayaan antara dua pelayan Linux untuk penyegerakan fail mudah atau pemindahan.

Sebaik sahaja anda mempunyai persediaan log masuk tanpa kata laluan SSH, anda boleh mula menggunakan skrip dengan contoh berikut.

Fail sandaran ke partition yang berbeza

Contoh di bawah akan membuat sandaran /dan lain-lain direktori dalam a Sandaran Direktori pada partisi lain:

$ sudo rdiff-backup/etc/media/aaronkilik/data/sandaran/mint_etc.sandaran 
Fail sandaran ke partition yang berbeza

Untuk mengecualikan direktori tertentu dan juga subdirektori, anda boleh menggunakan --tidak termasuk pilihan seperti berikut:

$ sudo rdiff-backup --exclude/etc/cockpit --exclude/etc/bluetooth/media/aaronkilik/data/sandaran/mint_etc.sandaran 

Kami boleh memasukkan semua fail peranti, fail FIFO, fail soket, dan pautan simbolik dengan --termasuk-khusus fail pilihan seperti di bawah:

$ sudo rdiff-backup-termasuk-khusus-fail --exclude/etc/cockpit/media/aaronkilik/data/sandaran/mint_etc.sandaran 

Terdapat dua bendera penting lain yang boleh kita tetapkan untuk pemilihan fail; --saiz max-file saiz yang tidak termasuk fail yang lebih besar daripada saiz yang diberikan dalam bait dan --saiz min-file saiz yang tidak termasuk fail yang lebih kecil daripada saiz yang diberikan dalam bait:

$ sudo rdiff-backup--max-file 5m-termasuk-spesial-fail --exclude/etc/cockpit/media/aaronkilik/data/sandaran/mint_etc.sandaran 

Fail Jauh Sandaran pada Pelayan Linux Tempatan

Untuk tujuan seksyen ini, kami akan menggunakan:

Pelayan Jauh (TECMINT): 192.168.56.102 Server Backup Tempatan (Backup): 192.168.56.10 

Seperti yang telah kami nyatakan sebelum ini, anda mesti memasang versi yang sama Rdiff-backup Pada kedua -dua mesin, kini cuba periksa versi pada kedua -dua mesin seperti berikut:

$ rdiff -backup -v 
Semak versi RDIFF di pelayan

Di pelayan sandaran, buat direktori yang akan menyimpan fail sandaran seperti SO:

# mkdir -p /sandaran 

Sekarang dari pelayan sandaran, jalankan arahan berikut untuk membuat sandaran direktori /var/log/ dan /root dari pelayan Linux jauh 192.168.56.102 dalam /sandaran:

# rdiff-backup [dilindungi e-mel] ::/var/log//sandaran/192.168.56.102_logs.sandaran # rdiff-backup [dilindungi e-mel] ::/root//sandaran/192.168.56.102_rootfiles.sandaran 

Tangkapan skrin di bawah menunjukkan fail root pada pelayan jauh 192.168.56.102 dan fail yang disandarkan di pelayan belakang 192.168.56.10:

Direktori jauh sandaran di pelayan tempatan

Perhatikan RDIFF-BACKUP-DATA Direktori yang dibuat di sandaran Direktori Seperti yang dilihat dalam tangkapan skrin, ia mengandungi data penting mengenai proses sandaran dan fail tambahan.

RDIFF -BACKUP - Fail Proses Sandaran

Sekarang, di pelayan 192.168.56.102, Fail tambahan telah ditambah ke direktori root seperti yang ditunjukkan di bawah:

Sahkan direktori sandaran

Mari kita jalankan perintah sandaran sekali lagi untuk mendapatkan data yang diubah, kita boleh menggunakan -V [0-9] (Di mana nombor tersebut menentukan tahap kelebihan, lalai adalah 3 yang diam) pilihan untuk menetapkan ciri kelebihan:

# rdiff -backup -v4 [dilindungi e -mel] ::/root//sandaran/192.168.56.102_rootfiles.sandaran 
Sandaran tambahan dengan ringkasan

Dan untuk menyenaraikan nombor dan tarikh sandaran tambahan separa yang terkandung di dalam /sandaran/192.168.56.102_rootfiles.sandaran Direktori, kita boleh menjalankan:

# rdiff -backup -l /backups /192.168.56.102_rootfiles.sandaran/ 

Mengautomasikan sandaran rdiff-back menggunakan Cron

Kami boleh mencetak statistik ringkasan selepas sandaran yang berjaya dengan --Cetak-statistik. Walau bagaimanapun, jika kami tidak menetapkan pilihan ini, maklumat masih boleh didapati dari fail statistik sesi. Baca lebih lanjut mengenai pilihan ini di bahagian statistik halaman lelaki.

Dan juga -Remote-schema Bendera membolehkan kami menentukan kaedah alternatif untuk menyambung ke komputer terpencil.

Sekarang, mari kita mulakan dengan membuat a sandaran.sh Skrip pada pelayan sandaran 192.168.56.10 seperti berikut:

# CD ~/bin # vi sandaran.sh 

Tambahkan baris berikut ke fail skrip.

#!/bin/bash #This adalah skrip sandaran utiliti rdiff-backup #backup command rdiff-backup --print-statistics--remote-schema 'ssh -c %s "sudo/usr/bin/rdiff-backup--erver- -Restrict-Read-only/"'[E-mel dilindungi] ::/var/log/sandaran/192.168.56.102_logs.Kembali #Ketakkan Perintah Kejayaan/Ralat Perintah RDIFF-Backup = $? Sekiranya [status $ != 0]; Kemudian #Saption Ralat Mesej di ~/sandaran.Log File Echo "Kod Keluar Rdiff -Backup: Status $ - Perintah Tidak Berjaya" >> ~/Backup.log; Keluar 1; FI #Remove Files Backup Incremental Lama dari Satu Bulan RDIFF-Backup --force-Remove-Ender-Than 1M /Backups /192.168.56.102_logs.Kembali 

Simpan fail dan keluar, kemudian jalankan arahan berikut untuk menambahkan skrip ke Crontab pada pelayan sandaran 192.168.56.10:

# Crontab -e 

Tambahkan baris ini untuk menjalankan skrip sandaran anda setiap hari pada tengah malam:

0 0 * * */root/bin/sandaran.sh> /dev /null 2> & 1 

Simpan Crontab dan tutupnya, kini kami berjaya mengautomasikan proses sandaran. Pastikan ia berfungsi seperti yang diharapkan.

Baca melalui halaman RDIFF-Backup Man untuk maklumat tambahan, pilihan penggunaan dan contoh yang lengkap:

# Man Rdiff-backup 

Laman Utama Rdiff-Backup: http: // www.nongnu.org/rdiff-backup/

Itu sahaja buat masa ini! Dalam tutorial ini, kami menunjukkan kepada anda cara memasang dan pada dasarnya menggunakan RDIFF-BACKUP, skrip python yang mudah digunakan untuk sandaran tambahan tempatan/jauh di Linux. Kongsi pendapat anda dengan kami melalui bahagian maklum balas di bawah.