GNU/Linux >> Belajar Linux >  >> Linux

Cara Mencadangkan Host Unix Lokal Menggunakan Utilitas rsnapshot rsync

rsnapshot adalah utilitas cadangan Linux gratis yang mengagumkan untuk melakukan pencadangan rsync dari sistem file lokal dan jarak jauh.

Ini adalah seri dari dua artikel. Dalam artikel ini, mari kita tinjau cara menginstal dan mengonfigurasi utilitas rsnapshot untuk mengambil rsync backup dari sistem file lokal. Pada artikel berikutnya, mari kita tinjau cara mengatur utilitas rsnapshot untuk mengambil cadangan rsync dari sistem file jarak jauh.

rsnapshot menggunakan kombinasi rsync dan tautan keras untuk mempertahankan cadangan penuh dan cadangan tambahan. Setelah Anda mengatur dan mengonfigurasi rsnapshot, sama sekali tidak ada pemeliharaan yang terlibat di dalamnya. rsnapshot akan secara otomatis menghapus dan memutar cadangan lama.

Ini juga membutuhkan ruang disk yang sangat sedikit. Cadangan penuh pertama akan berukuran sama dengan file dan direktori asli Anda. Pencadangan penuh rsnapshot berikutnya hanya membutuhkan lebih sedikit ruang, karena hanya membutuhkan cadangan file yang dimodifikasi dari cadangan lengkap sebelumnya.

1. Unduh Utilitas Pencadangan Linux rsnapshot

Unduh utilitas rsnapshot dari rsnapshot.org seperti yang ditunjukkan di bawah ini.

# cd /usr/src
# wget http://www.rsnapshot.org/downloads/rsnapshot-1.3.1.tar.gz

# tar xvfz rsnapshot-1.3.1.tar.gz
# cd rsnapshot-1.3.1

2. Instal rsnapshot untuk mencadangkan direktori Linux

Instal utilitas backup rsnapshot Linux menggunakan ./configure dan lakukan instalasi seperti yang ditunjukkan di bawah ini.

# ./configure --sysconfdir=/etc

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
config.status: creating t/rsync.t
config.status: creating t/gnu_cp.t
config.status: creating t/relative_delete_bugfix.t
Type "make install" to install the program.
After rsnapshot is installed, don't forget to copy
/etc/rsnapshot.conf.default to /etc/rsnapshot.conf

# make install

/usr/bin/pod2man -c '' -n 'rsnapshot' -r '' rsnapshot > rsnapshot.1
/usr/bin/pod2man -c '' -n 'rsnapshot-diff' -r '' rsnapshot-diff > rsnapshot-diff.1
make[1]: Entering directory `/usr/src/rsnapshot-1.3.1'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/usr/bin/install -c 'rsnapshot' '/usr/local/bin/rsnapshot'
/usr/bin/install -c 'rsnapshot-diff' '/usr/local/bin/rsnapshot-diff'
test -z "/etc" || mkdir -p -- "/etc"
/usr/bin/install -c -m 644 'rsnapshot.conf.default' '/etc/rsnapshot.conf.default'
test -z "/usr/local/man/man1" || mkdir -p -- "/usr/local/man/man1"
/usr/bin/install -c -m 644 './rsnapshot.1' '/usr/local/man/man1/rsnapshot.1'
/usr/bin/install -c -m 644 './rsnapshot-diff.1' '/usr/local/man/man1/rsnapshot-diff.1'
make[1]: Leaving directory `/usr/src/rsnapshot-1.3.1'

Sekarang, buat rsnapshot.conf baru berdasarkan file konfigurasi default yang disertakan dengan utilitas backup rsnapshot linux.

# cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf

3. Konfigurasikan rsnapshot dan Tentukan Direktori Sumber Cadangan

Buka /etc/rsnapshot.conf dan batalkan komentar pada baris berikut.

# vi /etc/rsnapshot.conf

cmd_cp          /bin/cp
cmd_ssh /usr/bin/ssh
cmd_du          /usr/bin/du
cmd_rsnapshot_diff      /usr/local/bin/rsnapshot-diff
logfile /var/log/rsnapshot

Tentukan direktori cadangan tujuan di /etc/rsnapshot.conf seperti yang ditunjukkan di bawah ini. Dalam contoh ini,

  • /dst – direktori sumber yang harus dicadangkan
  • localhost/ – direktori tujuan tempat cadangan akan disimpan. Harap perhatikan bahwa direktori ini akan dibuat di bawah direktori /.snapshots/{internal.n}/ seperti yang ditunjukkan pada langkah terakhir.
# vi /etc/rsnapshot.conf

backup  /etc/           localhost/

Catatan: Ubah /etc/ ke direktori yang sesuai yang ingin Anda backup.

4. Uji Konfigurasi rsnapshot

Lakukan pengujian konfigurasi untuk memastikan rsnapshot telah diatur dengan benar dan siap untuk melakukan pencadangan rsync linux.

# rsnapshot configtest
Syntax OK

5. Verifikasi rsnapshot Konfigurasi Pencadangan Per Jam

Anda dapat membuat cadangan direktori atau file linux pada berbagai interval. Secara default, pencadangan per jam dan harian dikonfigurasi.

Verifikasi konfigurasi pencadangan setiap jam.

# rsnapshot -t hourly
echo 6490 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
/usr/local /.snapshots/hourly.0/localhost/
touch /.snapshots/hourly.0/

6. Verifikasi Konfigurasi Pencadangan Harian rsnapshot

Pastikan proses pencadangan rsnapshot cwrsync harian dikonfigurasi dengan benar.

# rsnapshot -t daily
echo 6493 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/hourly.5 not present (yet), nothing to copy

7. Interval Cadangan rsnapshot tidak valid

Tidak ada interval pencadangan bulanan. Jadi, jika Anda mencoba memverifikasi konfigurasi pencadangan bulanan, Anda mungkin mendapatkan pesan ini seperti yang ditunjukkan di bawah ini — ERROR:Interval “monthly” unknown, check /etc/rsnapshot.conf

# rsnapshot -t weekly
echo 6495 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/daily.6 not present (yet), nothing to copy

# rsnapshot -t monthly
echo 6496 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/local/bin/rsnapshot -t monthly
----------------------------------------------------------------------------
ERROR: Interval "monthly" unknown, check /etc/rsnapshot.conf

8. Tambahkan Entri Crontab untuk rsnapshot

Setelah Anda memverifikasi bahwa konfigurasi cadangan rsync per jam dan harian telah diatur dengan benar di utilitas rsnapshot cwrsync, sekarang saatnya untuk mengatur anak anjing ini di crontab seperti yang ditunjukkan di bawah ini.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

Lihat artikel contoh crontab Unix untuk memahami cara menyiapkan dan mengonfigurasi crontab.

9. Verifikasi Pekerjaan rsnapshot Secara Manual (Pemeriksaan satu kali)

Untuk pertama kalinya, Anda mungkin ingin menjalankan pencadangan rsnapshot secara manual untuk memastikannya berfungsi seperti yang diharapkan.

Secara default, semua cadangan rsync yang diambil oleh utilitas rnspashot akan disimpan di bawah direktori /.snapshots.

Karena rsnapshot tidak pernah dieksekusi, direktori ini mungkin tidak ada seperti yang ditunjukkan di bawah ini.

# ls -al /.snapshots/
ls: /.snapshots/: No such file or directory

Jalankan utilitas pencadangan rsnapshot secara manual untuk konfigurasi per jam seperti yang ditunjukkan di bawah ini.

# /usr/local/bin/rsnapshot hourly

Karena kami telah menjalankan pencadangan per jam, utilitas pencadangan linux rsnapshot akan membuat direktori /.snapshots berikut dengan direktori hourly.0

Jelajahi direktori /.snapshots/hourly.0/ untuk memastikan file dan direktori yang telah Anda konfigurasikan di langkah #3 telah dicadangkan dengan benar.

# ls -al /.snapshots/
total 16
drwx------  3 root root 4096 Jul 13 05:07 .s
drwxr-xr-x 25 root root 4096 Jul 13 05:07 ..
drwxr-xr-x  3 root root 4096 Jul 13 05:07 hourly.0

# ls -al /.snapshots/hourly.0/localhost/etc/
total 2516
drwxr-xr-x 93 root root   12288 Jul 13 05:05 .
drwxr-xr-x  3 root root    4096 Jul 13 05:07 ..
-rw-r--r--  1 root root   15288 Mar 13  2008 a2ps.cfg
-rw-r--r--  1 root root    2562 Mar 13  2008 a2ps-site.cfg
drwxr-xr-x  4 root root    4096 Oct 31  2008 acpi
-rw-r--r--  1 root root      44 Jan 16 10:43 adjtime
drwxr-xr-x  4 root root    4096 Jan 16 10:36 alchemist
-rw-r--r--  1 root root    2155 Mar 19 08:22 aliases
-rw-r-----  1 root smmsp  12288 Mar 19 08:22 aliases.db

Di artikel berikutnya, mari kita tinjau cara mencadangkan beberapa host jarak jauh menggunakan utilitas rsnapshot.


Linux
  1. Cara Migrasi WordPress Secara Manual Ke Host Baru

  2. Cara mencadangkan dan memulihkan situs web Anda menggunakan utilitas pencadangan LCN

  3. Linux / UNIX :Cara membuat partisi extended menggunakan fdisk

  1. Cara Mencadangkan Seluruh Sistem Linux Anda Menggunakan Rsync

  2. Cara Menghubungkan Host Jarak Jauh Menggunakan Perintah ssh

  3. Utilitas pencadangan Linux untuk pencadangan tambahan

  1. Cara Mengelola Host Windows Jarak Jauh menggunakan Ansible

  2. cadangan rsync/ssh/rsnapshot -- eksekusi skrip jarak jauh

  3. Cara mematikan koneksi TCP menggunakan utilitas tcpkill