RSNAPSHOT (Berbasis RSYNC) - Utilitas Cadangan Sistem Lokal/Remote untuk Linux

RSNAPSHOT (Berbasis RSYNC) - Utilitas Cadangan Sistem Lokal/Remote untuk Linux

rsnapshot adalah open source lokal / terpencil utilitas cadangan sistem file ditulis Perl bahasa yang menguntungkan kekuatan Rsync Dan Ssh program untuk membuat, cadangan tambahan yang dijadwalkan Linux/UNIX sistem file, sementara hanya mengambil ruang dari satu cadangan penuh plus perbedaan dan tetap mempertahankan cadangan tersebut lokal menyetir untuk berbeda perangkat keras, eksternal USB tongkat, drive pemasangan NFS atau hanya melalui jaringan ke mesin lain melalui Ssh.

Instal alat cadangan rsnapshot

Artikel ini akan menunjukkan cara menginstal, mengatur, dan menggunakan rsnapshot untuk membuat inkremental per jam, sehari-hari, mingguan Dan bulanan cadangan lokal, serta cadangan jarak jauh. Untuk melakukan semua langkah dalam artikel ini, Anda harus akar pengguna.

Langkah 1: Memasang cadangan RSNAPShot di Linux

Pemasangan rsnapshot menggunakan Yum Dan TEPAT mungkin sedikit berbeda, jika Anda menggunakan topi merah Dan Debian distribusi berbasis.

Di rhel/centos

Pertama, Anda harus menginstal dan mengaktifkan repositori pihak ketiga yang disebut Epel. Harap ikuti tautan di bawah ini untuk menginstal dan mengaktifkan di bawah Anda RHEL/Centos sistem. Fedora Pengguna tidak memerlukan konfigurasi repositori khusus.

  1. Instal dan Aktifkan Repositori Epel di Rhel/Centos 6/5/4

Setelah Anda mendapatkan pengaturan, instal rsnapshot dari baris perintah seperti yang ditunjukkan.

# yum instal rsnapshot
Di debian/ubuntu/linux mint

Secara default, rsnapshot termasuk dalam Ubunturepositori, sehingga Anda dapat menginstalnya menggunakannya apt-get perintah seperti yang ditunjukkan.

# apt-get install rsnapshot

Langkah 2: Menyiapkan SSH Kata Sandi-Kurang Login

Untuk mencadangkan server Linux jarak jauh, Anda server cadangan rsnapshot akan dapat terhubung melalui Ssh tanpa kata sandi. Untuk mencapai ini, Anda perlu membuat Ssh kunci publik dan pribadi untuk mengotentikasi pada rsnapshot server. Ikuti tautan di bawah ini untuk menghasilkan kunci publik dan pribadi di Anda rsnapshot server cadangan.

  1. Buat Login Tanpa Kata Sandi SSH Menggunakan Keygen SSH

Langkah 3: Mengkonfigurasi RSNAPShot

Sekarang Anda perlu mengedit dan menambahkan beberapa parameter ke rsnapshot file konfigurasi. Membuka rsnapshot.conf file dengan vi atau nano editor.

# vi /etc /rsnapshot.conf

Selanjutnya buat direktori cadangan, di mana Anda ingin menyimpan semua cadangan Anda. Dalam kasus saya, lokasi direktori cadangan saya adalah “/cadangan data/". Cari dan edit parameter berikut untuk mengatur lokasi cadangan.

snapshot_root/data/cadangan/

Juga melepaskan komentar “cmd_sshGaris untuk memungkinkan mengambil cadangan jarak jauh Ssh. Untuk tidak mengkomentasikan garis, lepaskan “#”Di depan dari baris berikut sehingga rsnapshot dapat dengan aman mentransfer data Anda ke server cadangan.

cmd_ssh/usr/bin/ssh

Selanjutnya, Anda perlu memutuskan berapa banyak cadangan lama yang ingin Anda pertahankan, karena rsnapshot tidak tahu seberapa sering Anda ingin mengambil snapshot. Anda perlu menentukan berapa banyak data untuk menyimpan, menambahkan interval untuk disimpan, dan berapa banyak dari masing -masing.

Nah, pengaturan default cukup baik, tapi tetap saja saya ingin Anda mengaktifkan "bulananInterval sehingga Anda juga bisa memiliki cadangan jangka panjang. Harap edit bagian ini agar terlihat mirip dengan pengaturan di bawah ini.

#########################################interval cadangan##harus unik dan dalam urutan naik # # i.e. per jam, harian, mingguan, dll. #########################################. Interval per jam 6 interval harian 7 interval mingguan 4 Interval Monthly 3

Satu hal lagi yang perlu Anda edit adalah “ssh_args" variabel. Jika Anda telah mengubah default Port ssh (22) Untuk hal lain, Anda perlu menentukan nomor port dari server cadangan jarak jauh Anda.

ssh_args -p 7851

Terakhir, tambahkan direktori cadangan lokal dan jarak jauh Anda yang ingin Anda cadangan.

Cadangan Direktori Lokal

Jika Anda telah memutuskan untuk membuat cadangan direktori Anda secara lokal ke mesin yang sama, entri cadangan akan terlihat seperti ini. Misalnya, saya mengambil cadangan saya /tecmint Dan /dll direktori.

Cadangan/ tecmint/ localhost/ cadangan/ etc/ localhost/
Cadangan Direktori Remote

Jika Anda ingin membuat cadangan direktori server jarak jauh, maka Anda perlu memberi tahu rsnapshot di mana server berada dan direktori mana yang ingin Anda cadangan. Di sini saya mengambil cadangan server jarak jauh saya "/rumah"Direktori di bawah"/cadangan dataDirektori di server rsnapshot.

Pencadangan [Email Dilindungi]:/Beranda//Data/Cadangan/

Baca juga:

  1. Cara mencadangkan/sinkronisasi menggunakan alat RSYNC (Remote Sync)
  2. Cara mentransfer file/folder menggunakan perintah scp
Mengecualikan file dan direktori

Di sini, saya akan mengecualikan semuanya, dan kemudian hanya secara khusus mendefinisikan apa yang ingin saya cadangkan. Untuk melakukan ini, Anda perlu membuat file mengecualikan.

# vi/data/cadangan/tecmint.mengecualikan

Pertama dapatkan daftar direktori yang ingin Anda cadangkan dan tambahkan ( - * ) untuk mengecualikan yang lainnya. Ini hanya akan mencadangkan apa yang Anda daftarkan dalam file. File mengecualikan saya sepertinya mirip dengan di bawah ini.

+ /boot + /data + /tecmint + /etc + /home + /opt + /root + /usr - /usr /* - /var /cache + /var - /*

Menggunakan opsi file yang tidak dikecualikan bisa sangat rumit karena penggunaan rsync pengulangan. Jadi, contoh saya di atas mungkin bukan apa yang Anda cari. Selanjutnya tambahkan file mengecualikan ke rsnapshot.conf mengajukan.

ExcleDe_File/Data/Backup/Tecmint.mengecualikan

Akhirnya, Anda hampir selesai dengan konfigurasi awal. Selamatkan "/etc/rsnapshot.confFile konfigurasi sebelum bergerak lebih jauh. Ada banyak opsi untuk dijelaskan, tetapi di sini adalah file konfigurasi sampel saya.

config_version 1.2 snapshot_root/data/cadangan/cmd_cp/bin/cp cmd_rm/bin/rm cmd_rsync/usr/bin/rsync cmd_ssh/usr/bin/ssh cmd_logger/usr/bin/logger cmd_du/ssh cmd/USR/USR/BIN/LOGGER CMD_DU/USR/USR/USRAL/USRAL/BIN/LOGGER CMD_DU/USR/USR/USRAL/USRAL/BIN/LOGGER CMD_DU/USR/USR/USRAL/USRAL/BIN/LOGGER CMD_DU/USR/USR/USRAD 7 Interval Weekly 4 Interval Bulanan 3 SSH_ARGS -P 25000 VERBOSE 2 LOGLEVEL 4 LOGFILE/VAR/LOG/RSNAPSHOT/EXCLUDE_FILE/DATA/BACKUP/TECMINT.Kecualikan rsync_long_args --delete --numeric-ids--delete-excluded lockfile/var/run/rsnapshot.PID Backup/ Tecmint/ LocalHost/ Backup/ etc/ localhost/ cadangan [email dilindungi]:/ home// data/ cadangan/

Semua opsi dan penjelasan argumen di atas adalah sebagai berikut:

  1. config_version 1.2 = Versi file konfigurasi
  2. Snapshot_root = Tujuan cadangan untuk menyimpan snapshot
  3. CMD_CP = PATH TO COPY Command
  4. CMD_RM = Jalur untuk menghapus perintah
  5. cmd_rsync = Jalur ke rsync
  6. cmd_ssh = Jalur ke ssh
  7. cmd_logger = Path to Shell Command Interface ke Syslog
  8. cmd_du = Path to Disk Command
  9. interval jam = Berapa banyak cadangan per jam untuk disimpan.
  10. interval setiap hari = Berapa banyak cadangan harian untuk disimpan.
  11. interval mingguan = Berapa banyak cadangan mingguan yang harus disimpan.
  12. interval bulanan = Berapa banyak cadangan bulanan untuk disimpan.
  13. ssh_args = Argumen SSH opsional, seperti port yang berbeda (-p)
  14. verbose = Self-jelas
  15. Loglevel = Self-jelas
  16. Logfile = Jalur ke logfile
  17. tidak termasuk_file = Jalur ke file mengecualikan (akan dijelaskan secara lebih rinci)
  18. rsync_long_args = Argumen panjang untuk diteruskan ke rsync
  19. Lockfile = Self-jelas
  20. cadangan = Jalur penuh ke apa yang harus dicadangkan diikuti oleh jalur penempatan relatif.

Langkah 4: Verifikasi konfigurasi rsnapshot

Setelah Anda selesai dengan semua konfigurasi, waktunya untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan. Jalankan perintah berikut untuk memverifikasi bahwa konfigurasi Anda memiliki sintaks yang benar.

# rsnapshot configTest sintaks ok

Jika semuanya dikonfigurasi dengan benar, Anda akan menerima "Sintaks OK" pesan. Jika Anda mendapatkan pesan kesalahan, itu berarti Anda perlu memperbaiki kesalahan tersebut sebelum berjalan rsnapshot.

Selanjutnya, lakukan test run di salah satu snapshot untuk memastikan bahwa kami menghasilkan hasil yang benar. Kami mengambil “per jam“Parameter untuk melakukan test run menggunakan -T (tes) argumen. Perintah di bawah ini akan menampilkan daftar verbose dari hal -hal yang akan dilakukannya, tanpa benar -benar melakukannya.

# rsnapshot -t jam jam
Output sampel
Echo 2028>/var/run/rsnapshot.pid mkdir -m 0700 -p/data/cadangan/mkdir -m 0755 -p/data/cadangan/jam.0//usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded/home \/cadangan/jam.0/localhost/mkdir -m 0755 -p/cadangan/jam.0//usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded/etc \/cadangan/jam.0/localhost/mkdir -m 0755 -p/data/cadangan/jam.0//usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \/usr/local/data/cadangan/jam.0/localhost/sentuh/data/cadangan/jam.0/

Catatan: Perintah di atas memberi tahu rsnapshot untuk membuat “per jam" cadangan. Itu sebenarnya mencetak perintah yang akan dilakukan ketika kita benar -benar menjalankannya.

Langkah 5: Menjalankan rsnapshot secara manual

Setelah memverifikasi hasil Anda, Anda dapat menghapus “-T"Opsi untuk menjalankan perintah.

# rsnapshot setiap jam

Perintah di atas akan menjalankan skrip cadangan dengan semua konfigurasi yang kami tambahkan di rsnapshot.conf mengajukan dan membuat "cadanganDirektori dan kemudian membuat struktur direktori di bawahnya yang mengatur file kami. Setelah menjalankan perintah di atas, Anda dapat memverifikasi hasilnya dengan pergi ke direktori cadangan dan daftar struktur direktori menggunakan perintah ls -l seperti yang ditunjukkan.

# CD /Data /Cadangan # LS -L Total 4 DRWXR-XR-X 3 Root Root 4096 28 Okt 28 09:11 Jam.0

Langkah 6: Mengotomatiskan prosesnya

Untuk mengotomatiskan proses, Anda perlu menjadwalkan rsnapshot untuk dijalankan pada interval tertentu dari Cron. Secara default, rsnapshot datang dengan cron file di bawah "/etc/cron.d/rsnapshot“, Jika tidak ada, buat satu dan tambahkan baris berikut ke dalamnya.

Secara default aturan dikomentari, jadi Anda perlu menghapus “#”Dari depan bagian penjadwalan untuk memungkinkan nilai -nilai ini.

# Ini adalah file cron sampel untuk rsnapshot. # Nilai yang digunakan sesuai dengan contoh di /etc /rsnapshot.conf. # Di sana Anda juga dapat mengatur poin cadangan dan banyak hal lainnya. # # Untuk mengaktifkan file cron ini, Anda harus melepaskan baris di bawah ini. # Jangan ragu untuk menyesuaikannya dengan kebutuhan Anda. 0 */4 * * * root/usr/bin/rsnapshot jam 30 3 * * * root/usr/bin/rsnapshot setiap hari 0 3 * * 1 root/usr/bin/rsnapshot mingguan 30 2 1 * root/usr/ bin/rsnapshot bulanan

Izinkan saya menjelaskan dengan tepat, apa yang dilakukan aturan cron di atas:

  1. Berjalan setiap 4 jam dan menciptakan per jam direktori di bawah /cadangan direktori.
  2. Berjalan setiap hari di 3:30 pagi dan buat a sehari-hari direktori di bawah /cadangan direktori.
  3. Berjalan mingguan pada setiap Senin pada 03:00 dan buat a mingguan direktori di bawah /cadangan direktori.
  4. Berjalan setiap bulanan pada 2:30 pagi dan buat a bulanan direktori di bawah /cadangan direktori.

Untuk lebih memahami bagaimana aturan cron Bekerja, saya sarankan Anda membaca artikel kami yang menjelaskan.

  1. 11 contoh penjadwalan cron

Langkah 7: Laporan RSNAPShot

Itu rsnapshot memberikan pelaporan kecil yang bagus Skrip perl yang mengirimi Anda sebuah Peringatan email dengan semua detail tentang apa yang terjadi selama cadangan data Anda. Untuk mengatur skrip ini, Anda perlu menyalin skrip di suatu tempat di bawah "/usr/lokal/bin”Dan membuatnya dapat dieksekusi.

# cp/usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.PL/USR/LOCAL/BIN # CHMOD +X/USR/LOCAL/BIN/RSNAPREPORT.pl

Selanjutnya, tambahkan "-Statistik"Parameter di" Anda "rsnapshot.confFile ke bagian Argumen Panjang RSYNC.

vi /etc /rsnapshot.conf
rsync_long_args --stats --delete --numeric-ids --delete-excluded

Sekarang edit Aturan Crontab yang ditambahkan sebelumnya dan memanggil RSNAPREPORT.pl skrip untuk meneruskan laporan ke alamat email yang ditentukan.

# Ini adalah file cron sampel untuk rsnapshot. # Nilai yang digunakan sesuai dengan contoh di /etc /rsnapshot.conf. # Di sana Anda juga dapat mengatur poin cadangan dan banyak hal lainnya. # # Untuk mengaktifkan file cron ini, Anda harus melepaskan baris di bawah ini. # Jangan ragu untuk menyesuaikannya dengan kebutuhan Anda. 0 */4 * * * root/usr/bin/rsnapshot jam 2> & 1 | \/usr/lokal/bin/rsnapreport.PL | Mail -s "Hamply Backup" [Email Dilindungi] 30 3 * * * root/usr/bin/rsnapshot Daily 2> & 1 | \/usr/lokal/bin/rsnapreport.PL | Mail -s "Daily Backup" [Email Dilindungi] 0 3 * * 1 root/usr/bin/rsnapshot mingguan 2> & 1 | \/usr/lokal/bin/rsnapreport.PL | Mail -s "mingguan cadangan" [email dilindungi] 30 2 1 * * root/usr/bin/rsnapshot bulanan 2> & 1 | \/usr/lokal/bin/rsnapreport.PL | Mail -S "Montly Backup" [Email Dilindungi]

Setelah Anda menambahkan entri di atas dengan benar, Anda akan mendapatkan laporan ke alamat email Anda yang mirip dengan di bawah ini.

Sumber Total File File Trans Total MB MB MB Trans Gen Gen Time File XFER Time ------------------------------- -------------------------------------------------- ------------------- Localhost/ 185734 11853 2889.45 6179.18 40.661 detik 0.000 detik

Tautan referensi

  1. beranda rsnapshot

Itu saja untuk saat ini, jika ada masalah yang terjadi selama instalasi, kirimkan saya komentar. Sampai kemudian tetap mengikuti Tecmint Untuk artikel yang lebih menarik tentang dunia open source.