Perkenalan

Perkenalan

RSNAPShot adalah alat cadangan yang ditulis dalam perl yang memanfaatkan rsync sebagai back-end nya. rsnapshot memungkinkan pengguna untuk membuat solusi cadangan tambahan yang disesuaikan. Artikel ini akan membahas hal -hal berikut: manfaat dari solusi cadangan tambahan, instalasi RSNAPShot, konfigurasinya, dan contoh penggunaannya.

Kembali ke atas!

Saya baru -baru ini berdiskusi dengan seorang kolega manfaat dari mencadangkan data Anda. Rekan saya memberi tahu saya bagaimana salah satu pelanggannya baru -baru ini kehilangan artikel yang agak panjang yang telah mereka kerjakan. Saya memutuskan bahwa ini mungkin kesempatan yang baik untuk bereksperimen dengan netbook dan rsnapshot saya. Untuk tutorial ini, saya akan menganggap Anda memiliki 2 potong perangkat keras: komputer host Anda, dan peralatan tujuan Anda. Saya akan menggunakan hard drive eksternal untuk sebagian besar posting ini. Namun, saya akan secara singkat membahas penggunaan untuk mencadangkan file melalui LAN.

Mencadangkan data Anda seharusnya tidak menjadi pertanyaan untuk ditanyakan tetapi lebih tepatnya bagaimana saya harus membuat cadangan barang saya? Apa cara terbaik? Nah ada banyak jalur cadangan yang dapat Anda ambil, termasuk level blok (DD, partimage), tingkat partisi (RAID dan semua variasinya), level file (rsync dan aplikasi anak -anaknya). Saya akan membahas dua jenis cadangan dalam konteks cadangan berbasis file.

Cadangan normal, atau cadangan lengkap, adalah penjelasan diri. Cadangan normal adalah salah satu cara mencadangkan semua file Anda setiap kali Anda melakukan cadangan. Salah satu masalah dengan memanfaatkan beberapa skema cadangan normal adalah bahwa cadangan normal memakan sejumlah besar ruang. Misalnya, jika Anda melakukan cadangan penuh hard drive 250Gig pada kapasitas 20%, setiap hari hanya selama satu minggu (dengan asumsi bahwa jumlah data tidak berfluktuasi) akan berarti bahwa Anda telah menggunakan 350Gigs hanya untuk cadangan satu minggu yang bernilai satu minggu selama satu minggu minggu. Seperti yang Anda lihat, itu tidak layak dalam jangka panjang. Metode lain yang saya sukai adalah metode cadangan tambahan. Cadangan tambahan terdiri dari satu cadangan penuh dan kemudian melakukan cadangan tambahan. Cadangan tambahan ini akan hanya file cadangan yang telah berubah sejak cadangan terakhir. Alih -alih mencadangkan seluruh hard drive Anda, hanya file spesifik yang telah berubah sejak cadangan terakhir dicadangkan. Seperti yang mungkin Anda bayangkan ini adalah proses yang jauh lebih efisien. Salah satu alat yang melakukan ini pada *nix adalah rsnapshot.



Apa itu rsnapshot?

RSNAPShot, seperti yang disebutkan sebelumnya, adalah utilitas cadangan tambahan. Dalam tutorial ini, saya akan menunjukkan kepada Anda cara membuat skema cadangan rotasi tujuh hari menggunakan rsnapshot. Pada dasarnya, rsnapshot akan membuat 1 cadangan lengkap dan kemudian cadangan berikutnya hanya akan mencadangkan file yang telah berubah. Kekuatan rsnapshot yang sebenarnya adalah kemampuannya untuk memanfaatkan hubungan keras antara setiap cadangan. Setiap cadangan akan menjadi cadangan penuh. Pada kenyataannya setiap cadangan baru terdiri dari file yang baru dibuat atau diperbarui. rsnapshot dapat digunakan melalui lan dan juga dapat dijalankan dari cron. Dalam tutorial ini, saya akan menunjukkan kedua contoh penggunaan.

Instalasi

Instalasi RSNAPShot cukup mudah, cukup jalankan perintah Linux berikut:

Di Debian (atau Ubuntu):

APT-GET INSTALL RSNAPSHOT

Di fedora:

yum instal rsnapshot

Di Archlinux:

PACMAN -S RSNAPSHOT

Sekarang mari kita konfigurasikan rsnapshot.

Konfigurasi

Lihatlah /dll, jika /etc /rsnapshot.conf.Default ada Anda perlu menyalinnya ke /etc /rsnapshot.conf. Jika .File default tidak ada, lalu buat cadangan reguler .conf. Ini berguna dalam hal ini Anda perlu merujuknya nanti.

Buka rsnapshot.conf dan mulailah mengeditnya dengan kebutuhan Anda. File konfigurasi rsnapshot dikomentari dengan baik. Ini membuatnya lebih mudah mengkonfigurasinya. Saya akan mulai dengan membongkar semua aplikasi dalam bagian “Dependensi Program Eksternal” dari file konfigurasi. Sebagai permulaan, unkromment baris berikut:

cmd_rsync/uso/bin/rsync
cmd_d /bin /d
cmd_rsnapshot_diff/usa/bin/rsnapshot-diff

Anda mungkin perlu mengubah lokasi rsnapshot-diff, jika rsnapshot tidak menemukannya. Untuk memastikan Anda merujuk masalah biner yang benar:

di mana rsnapshot-diff

Sekarang Anda perlu memutuskan bagaimana tepatnya merancang skema cadangan Anda. Setelah Anda memilih skema, Anda perlu mengedit garis "interval" yang terletak di bawah "Interval Cadangan". RSNAPShot dapat melakukan cadangan setiap jam, harian, mingguan, dan bulanan. Sistem saya melakukan skema cadangan tujuh hari, tetapi Anda dapat memutuskan di sini apa yang ingin Anda lakukan. Salah satu contohnya bisa membuat cadangan yang berjalan setiap enam jam, setiap hari dalam seminggu. ini terserah kamu. Saya akan menggunakan pengaturan saya sebagai contoh. Lihat tangkapan layar di bawah ini:



Dua baris lain yang perlu Anda butuhkan adalah snapshot_root (terletak di awal skrip) dan cadangan (terletak di bawah "titik cadangan/skrip")).

snapshot_root $ destination/ #specifies di mana cadangan Anda disimpan
.
.
Cadangan $ Source/ $ Hastens
#backup menentukan apa yang Anda cadangan, Anda dapat mencadangkan
#Dari beberapa lokasi cukup tentukan beberapa baris cadangan

Garis cadangan terdiri dari tiga bagian. Tiga bagian ini termasuk deklarasi "cadangan", lokasi sumber, dan yang dipercepat. Setiap komponen harus dipisahkan oleh tab dan direktori harus diakhiri dengan / atau rsnapshot tidak akan benar. Dua fitur lagi yang perlu dicatat adalah fungsionalitas logging dan kemampuan untuk menggunakan file RSYNC yang termasuk/mengecualikan. BINGINKAN Tiga baris berikut (dan ubah sesuai):

verbose 5 #bagaimana banyak informasi harus
#Actual backup relay untuk Anda?
Logglevel 5 #bagaimana informasi harus
#sharo harus disimpan dalam file log?
LogFile $ LOG_FILE_DESTINATION #Di mana Logfile disimpan?

Seperti yang mungkin Anda perhatikan dari membaca komentar di .File conf, verbosity berkisar dari 1-5, dengan 5 yang paling bertele-tele. Saya akan mengaktifkan ini pada awalnya untuk melihat apakah semuanya berjalan dengan baik. Tingkat kontrol ini sangat membantu. Jika Anda mengalami masalah apa pun, Anda memiliki kemampuan untuk melakukan debugging.

Seperti yang disebutkan sebelumnya, Anda juga dapat menggunakan RSYNC termasuk dan mengecualikan file dan di bawah ini adalah contoh yang tidak termasuk file.

#MENGECUALIKAN
#tidak ada cadangan bersama ~
- /home/javier/data/
- /home/javier/$ dest/

Sertakan file serupa. Alih-alih '-' gunakan '+' untuk menunjukkan data yang ingin Anda sertakan. Jika Anda memutuskan bahwa Anda ingin menggunakan atau mengecualikan file, lihat baris include_file/exclude_file. Inilah bagian saya dari rsnapshot.conf mencatat opsi ini.

termasuk_file/home/javier/cadangan/termasuk.lst
ExcleDe_File/Home/Javier/Backup/Exclude.lst

Jika Anda telah mengikuti hingga titik ini, RSNAPShot cukup banyak dikonfigurasi. Jika Anda ingin menjalankan apa pun sebelum atau sesudah finish rsnapshot, lihat baris CMD_PREEXEC dan CMD_POSTEXEC. Anda dapat membatalkan komentar baris ini dan menentukan skrip untuk dijalankan sebelum atau setelah selesainya cadangan jika diperlukan. Jika tidak, Anda selesai mengedit file konfigurasi Anda. Sekarang jalankan perintah Linux berikut:

rsnapshot configTest

Tangkapan layar di bawah ini:

Perintah itu menjalankan rsnapshot dan memberitahunya untuk melakukan pemeriksaan kewarasan di rsnapshot.conf. Jika semuanya baik -baik saja, maka Anda harus mendapatkan output berikut: “Sintaks OK."Jika tidak membaca output yang diberikannya dan edit rsnapshot.conf sesuai kebutuhan.



Contoh penggunaan

Saya akan membahas tiga bentuk menggunakan rsnapshot. Bentuk -bentuk ini termasuk secara lokal, jarak jauh, dan otomatisasi (melalui cron).Penggunaan tidak perlu berbeda antara eksekusi lokal atau jarak jauh. Sebaliknya, saya akan menunjukkan perbedaan dalam file konfigurasi

Menggunakan rsnapshot secara lokal

Untuk cadangan lokal, dua baris penting adalah:

Snapshot_root $ dest/
cadangan $ sumber/ $ hostname/

Anda dapat menentukan beberapa sumber cadangan, dengan hanya membuat beberapa baris yang mengacu pada setiap direktori yang ingin Anda cadangan.
Untuk benar -benar menjalankan edisi cadangan perintah Linux berikut:

rsnapshot setiap hari

Anda juga dapat menggunakan opsi per jam, mingguan, dan bulanan. Setiap perintah akan membuat direktori cadangan sesuai dengan operasi yang ditentukan. Jika saya menjelajah ke lokasi cadangan saya, saya akan melihat yang berikut:

[some_user@hostname backupdir]# ls
sehari-hari.0 setiap hari.1 log

Output di atas menunjukkan bahwa saya memiliki dua cadangan dari skema cadangan tujuh hari saya.

Cadangan jarak jauh

Untuk memanfaatkan kemampuan cadangan jarak jauh RSNAPShot cukup tentukan lokasi jarak jauh sebagai sumber cadangan Anda (untuk mengaktifkan cadangan jarak jauh, SSH harus diaktifkan untuk server. Otentikasi berbasis kunci akan menjadi pilihan terbaik Anda di sini):

Contoh root [email protected]:/ home/ example.com/

Setelah Anda menentukan sumber jarak jauh sebagai lokasi untuk cadangan cukup jalankan rsnapshot. Contoh di bawah ini:

rsnapshot setiap jam

Otomatisasi dengan Cron

Jika Anda memiliki pengalaman dengan Crontthen menambahkan entri dengan snapshot hanya terdiri dari menambahkan perintah spesifik e.G. “RSNAPShot Hil -Hample” dan Sintaks yang Relevan di Cron. Berikut beberapa contoh:

20 23 * * */usr/bin/rsnapshot harian # cadangan harian dijalankan pada pukul 11:20 malam
05 23 * * 7/usr/bin/rsnapshot mingguan # Cadangan mingguan dijalankan pada pukul 11:05 malam
# pada hari Minggu

Dianjurkan agar Anda menjadwalkan cadangan yang lebih besar sebelum cadangan yang lebih kecil (seperti yang ditunjukkan di atas) untuk mencegah konflik dengan rotasi antar cadangan. Selain itu, disarankan untuk menciptakan celah antara cadangan yang lebih besar dan cadangan yang lebih kecil untuk menghindari konflik antara setiap pekerjaan.



Penggunaan rsnapshot lainnya

rsnapshot hadir dengan beberapa fitur berguna lainnya. Misalnya, Anda dapat menjalankan perintah Linux berikut:

rsnapshot du

Untuk melihat berapa banyak ruang disk yang digunakan (du harus tidak dikomentasikan di /etc /rsnapshot.conf). Tangkapan layar di bawah ini:

Anda dapat menjalankan yang berikut untuk membandingkan perubahan antara cadangan:

rsnapshot diff setiap hari.0 harian1

Anda harus melihat output yang mirip dengan tangkapan layar di bawah ini:


Lihat halaman pria RSNAPShot untuk fungsi tambahan.

Penyelesaian masalah

Jika Anda mendapatkan masalah tentang lchown menjalankan perintah Linux berikut:

Perl -mcpan -e 'Instal QC (LCHOWN)'

Kesimpulan

Setelah berhasil menyelesaikan tutorial ini, Anda sekarang harus memiliki skema cadangan berkualitas tinggi. Untuk dokumentasi tambahan, periksa halaman Man Man RSNAPSHOT, dan beranda yang terletak di sini. Ini berisi cara yang sangat baik, yang tersedia dalam beberapa format. Selain itu, saya akan merekomendasikan untuk memeriksa program cadangan lainnya, ini termasuk RSYNC (Back End ke RSNAPShot), Rdiff-Backup, Partimage, dan DD.

Tutorial Linux Terkait:

  • Contoh RSYNC di Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara membuat cadangan tambahan menggunakan rsync di linux
  • Perangkat lunak cadangan ubuntu terbaik
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Cara membuat cadangan tambahan dan diferensial dengan tar
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara membuat cadangan sistem tambahan dengan timeshift di…
  • Menguasai loop skrip bash