Pengenalan

Pengenalan

RSNAPSHOT adalah alat sandaran yang ditulis di Perl yang menggunakan rsync sebagai back-endnya. RSNAPSHOT membolehkan pengguna membuat penyelesaian sandaran tambahan yang disesuaikan. Artikel ini akan membincangkan perkara berikut: Manfaat penyelesaian sandaran tambahan, pemasangan RSNAPSHOT, konfigurasinya, dan contoh penggunaannya.

Kembali ke atas!

Saya baru -baru ini berbincang dengan rakan sekerja manfaat sandaran data anda. Rakan sekerja saya memberitahu saya bagaimana salah seorang pelanggannya baru -baru ini kehilangan artikel yang agak panjang yang mereka sedang berusaha. Saya memutuskan bahawa ini mungkin peluang yang baik untuk bereksperimen dengan netbook dan rsnapshot saya. Untuk tutorial ini, saya akan menganggap anda mempunyai 2 keping perkakasan: komputer tuan rumah anda, dan peralatan destinasi anda. Saya akan menggunakan cakera keras luaran untuk majoriti siaran ini. Walau bagaimanapun, saya akan meliputi penggunaan secara ringkas untuk menyokong fail di LAN.

Menyandarkan data anda tidak boleh menjadi soalan untuk ditanya tetapi bagaimana saya harus membuat sandaran barang saya? Apa cara terbaik? Nah terdapat banyak laluan sandaran yang berbeza yang boleh anda ambil, termasuk tahap blok (DD, partimage), tahap partition (RAID dan semua variasinya), tahap fail (RSYNCAND aplikasi anak -anaknya). Saya akan membincangkan dua jenis sandaran dalam konteks sandaran berasaskan fail.

Sandaran biasa, atau sandaran penuh, adalah penjelasan diri. Sandaran biasa adalah satu cara untuk membuat sandaran semua fail anda setiap kali anda membuat sandaran. Satu isu dengan menggunakan skema sandaran biasa adalah bahawa sandaran biasa mengambil sejumlah besar ruang. Sebagai contoh, jika anda melakukan sandaran penuh 250gig cakera keras pada kapasiti 20%, setiap hari hanya satu minggu (dengan mengandaikan bahawa jumlah data tidak berubah -ubah) akan bermakna anda sudah menggunakan 350Gigs untuk hanya satu minggu sandaran. Seperti yang anda lihat, itu tidak dapat dilaksanakan dalam jangka masa panjang. Kaedah lain yang saya sukai adalah kaedah sandaran tambahan. Sandaran tambahan terdiri daripada satu sandaran penuh dan kemudian melakukan sandaran tambahan. Sandaran tambahan ini akan hanya fail sandaran yang telah berubah sejak sandaran terakhir. Daripada membuat sandaran keseluruhan cakera keras anda, hanya fail tertentu yang telah berubah sejak sandaran terakhir disandarkan. Seperti yang anda mungkin bayangkan ini adalah proses yang lebih cekap. Satu alat yang melakukan ini pada *nix ialah rsnapshot.



Apa itu rsnapshot?

RSNAPSHOT, seperti yang disebutkan sebelumnya, adalah utiliti sandaran tambahan. Dalam tutorial ini, saya akan menunjukkan kepada anda cara membuat skim sandaran putaran tujuh hari menggunakan rsnapshot. Pada dasarnya, rsnapshot akan membuat 1 sandaran penuh dan kemudian sandaran berikutnya akan membuat sandaran hanya fail yang telah berubah. Kekuatan sebenar rsnapshot adalah keupayaannya untuk menggunakan pautan keras antara setiap sandaran. Setiap sandaran akan kelihatan sebagai sandaran penuh. Pada hakikatnya setiap sandaran baru terdiri daripada fail yang baru dibuat atau dikemas kini. RSNAPSHOT boleh digunakan di LAN dan juga boleh berlari dari Cron. Dalam tutorial ini, saya akan menunjukkan kedua -dua contoh penggunaan.

Pemasangan

Pemasangan rsnapshot cukup mudah, hanya jalankan arahan Linux berikut:

Di Debian (atau Ubuntu):

APT-GET Pasang RSNAPSHOT

Di fedora:

Yum memasang rsnapshot

Di Archlinux:

PACMAN -S RSNAPSHOT

Sekarang mari kita konfigurasikan rsnapshot.

Konfigurasi

Lihatlah /etc, jika /etc /rsnapshot.Conf.Lalai wujud anda perlu menyalinnya ke /etc /rsnapshot.Conf. Jika .Fail lalai tidak wujud, kemudian buat sandaran biasa .Conf. Ini berguna dalam kes yang anda perlukan untuk merujuknya di kemudian hari.

Buka rsnapshot.conf dan mula mengeditnya dengan keperluan anda. Fail konfigurasi rsnapshot dikomentari dengan baik. Ini menjadikannya lebih mudah mengkonfigurasi. Saya akan mulakan dengan uncommenting semua aplikasi dalam bahagian "Ketergantungan Program Luaran" dalam fail konfigurasi. Sebagai permulaan, uncomment baris berikut:

cmd_rsync/uso/bin/rsync
cmd_d /bin /d
CMD_RSNAPSHOT_DIFF/USA/BIN/RSNAPSHOT-DIFF

Anda mungkin perlu menukar lokasi rsnapshot-diff, jika rsnapshot tidak mengesannya. Untuk memastikan anda merujuk isu binari yang betul:

di mana rsnapshot-diff

Sekarang anda perlu memutuskan bagaimana tepatnya merancang skema sandaran anda. Sebaik sahaja anda telah menyelesaikan skim, anda perlu mengedit garis "selang" yang terletak di bawah "selang sandaran". RSNAPSHOT boleh melakukan sandaran setiap jam, setiap hari, mingguan, dan bulanan. Sistem saya melakukan skim sandaran tujuh hari, tetapi anda boleh membuat keputusan di sini apa yang anda mahu lakukan. Satu contoh boleh membuat sandaran yang berjalan setiap enam jam, setiap hari dalam seminggu. Ini terpulang kepada anda. Saya akan menggunakan persediaan saya sebagai contoh. Lihat tangkapan skrin di bawah:



Dua baris yang lain yang anda perlukan untuk tidak diucapkan ialah snapshot_root (terletak pada permulaan skrip) dan sandaran (terletak di bawah "titik sandaran/skrip").

snapshot_root $ destinasi/ #specifies di mana sandaran anda disimpan
.
.
sandaran $ source/ $ Hastens
#backup menentukan apa yang anda sandarkan, anda boleh membuat sandaran
#dari pelbagai lokasi hanya nyatakan beberapa baris sandaran

Barisan sandaran terdiri daripada tiga bahagian. Ketiga -tiga bahagian ini termasuk pengisytiharan "sandaran", lokasi sumber, dan yang disegerakan. Setiap komponen mesti dipisahkan oleh tab dan direktori mesti berakhir dengan / atau rsnapshot tidak akan betul. Dua lagi ciri yang perlu diperhatikan ialah fungsi pembalakan dan keupayaan untuk menggunakan RSYNC termasuk/tidak termasuk fail. Uncomment Tiga baris berikut (dan meminda dengan sewajarnya):

verbose 5 #berapa banyak maklumat sekiranya
#tual sandaran sandaran kepada anda?
Loglevel 5 #bagaimana mesti maklumat
#Sedang akan disimpan dalam fail log?
LogFile $ LOG_FILE_DESTINATION #Where jika logfile disimpan?

Seperti yang anda perhatikan daripada membaca komen di .fail conf, keliangan berkisar dari 1-5, dengan 5 menjadi lebih jelas. Saya akan membolehkan ini pada mulanya untuk melihat sama ada semuanya berjalan baik -baik saja. Tahap kawalan ini membantu. Sekiranya anda menghadapi masalah, anda mempunyai keupayaan untuk melakukan debugging.

Seperti yang dinyatakan sebelum ini, anda juga boleh menggunakan rsync termasuk dan tidak termasuk fail dan di bawah adalah contoh tidak termasuk fail.

#Exclude
#not untuk sandaran bersama ~
- /rumah/javier/data/
- /rumah/javier/$ dest/

Termasuk fail yang serupa. Bukan '-' gunakan '+' untuk menunjukkan data yang anda mahu sertakan. Sekiranya anda memutuskan bahawa anda ingin menggunakan termasuk atau tidak termasuk fail, lihatlah garis termasuk_file/exclude_file. Inilah bahagian saya mengenai rsnapshot.conf mencatat pilihan ini.

termasuk_file/home/javier/sandaran/termasuk.lst
exclude_file/home/javier/sandaran/tidak termasuk.lst

Sekiranya anda mengikuti sehingga ke tahap ini rsnapshot cukup banyak dikonfigurasikan. Sekiranya anda ingin menjalankan apa -apa sebelum atau selepas selesai rsnapshot lihat garis CMD_PREEXEC dan CMD_POSTEXEC. Anda boleh mencatatkan garis -garis ini dan menentukan skrip untuk dijalankan sebelum atau selepas selesai sandaran jika diperlukan. Sekiranya tidak, anda selesai mengedit fail konfigurasi anda. Sekarang jalankan arahan Linux berikut:

rsnapshot configtest

Tangkapan skrin di bawah:

Perintah itu menjalankan rsnapshot dan menceritakannya untuk melakukan pemeriksaan kewarasan pada rsnapshot.Conf. Sekiranya semuanya berjalan lancar, maka anda harus mendapatkan output berikut: "Sintaks ok."Sekiranya tidak membaca output, ia memberi anda dan mengedit rsnapshot.con con seperti yang diperlukan.



Contoh penggunaan

Saya akan membincangkan tiga bentuk menggunakan rsnapshot. Bentuk -bentuk ini termasuk tempatan, dari jauh, dan automasinya (melalui Cron).Penggunaan tidak diperlukan berbeza antara pelaksanaan tempatan atau jauh. Sebaliknya, saya akan menunjukkan perbezaan dalam fail konfigurasi

Menggunakan rsnapshot secara tempatan

Untuk sandaran tempatan, dua baris penting adalah:

snapshot_root $ dest/
sandaran $ source/ $ hostname/

Anda boleh menentukan pelbagai sumber sandaran, dengan hanya membuat pelbagai baris merujuk kepada setiap direktori yang anda ingin sandarkan.
Untuk benar -benar menjalankan isu sandaran arahan Linux berikut:

rsnapshot setiap hari

Anda juga boleh menggunakan pilihan setiap jam, mingguan, dan bulanan. Setiap arahan akan membuat direktori sandaran mengikut operasi yang ditentukan. Sekiranya saya melayari lokasi sandaran saya, saya akan melihat perkara berikut:

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

Output di atas menunjukkan bahawa saya mempunyai dua sandaran skim sandaran tujuh hari saya dibuat.

Sandaran jauh

Untuk menggunakan keupayaan sandaran jauh RSNapshot, hanya menentukan lokasi terpencil sebagai sumber sandaran anda (untuk membolehkan sandaran jauh, SSH perlu diaktifkan untuk pelayan. Pengesahan berasaskan kunci akan menjadi pilihan terbaik anda di sini):

Contoh [email protected]:/ rumah/ contoh.com/

Sebaik sahaja anda telah menetapkan sumber terpencil sebagai lokasi untuk sandaran hanya menjalankan rsnapshot. Contoh di bawah:

Rsnapshot setiap jam

Automasi dengan Cron

Sekiranya anda mempunyai pengalaman dengan kronthen menambahkan entri dengan snapshot hanya terdiri daripada menambahkan perintah tertentu e.g. "RSNAPSHOT JUMLAH" dan sintaks yang berkaitan dengan Cron. Berikut adalah beberapa contoh:

20 23 * * */usr/bin/rsnapshot setiap hari # sandaran harian berlari pada pukul 11:20 malam
05 23 * * 7/usr/bin/rsnapshot mingguan # sandaran mingguan berlari pada pukul 11:05 malam
# pada hari Ahad

Adalah disyorkan bahawa anda menjadualkan sandaran yang lebih besar sebelum sandaran yang lebih kecil (seperti yang ditunjukkan di atas) untuk mengelakkan konflik dengan putaran antara sandaran. Di samping itu, adalah disyorkan untuk mewujudkan jurang antara sandaran yang lebih besar dan sandaran yang lebih kecil untuk mengelakkan konflik antara setiap pekerjaan.



Penggunaan rsnapshot lain

RSNAPSHOT dilengkapi dengan beberapa ciri berguna lain. Sebagai contoh, anda boleh menjalankan arahan Linux berikut:

RSNAPSHOT DU

Untuk melihat berapa banyak ruang cakera yang digunakannya (DU mesti tidak dikunjungi dalam /etc /rsnapshot.conf). Tangkapan skrin di bawah:

Anda boleh menjalankan perkara berikut untuk membandingkan perubahan antara sandaran:

RSNAPSHOT Diff setiap hari.0 setiap hari1

Anda harus melihat output yang serupa dengan tangkapan skrin di bawah:


Lihat halaman Man Rsnapshot untuk fungsi tambahan.

Penyelesaian masalah

Jika anda mendapat sebarang masalah mengenai LCHOWN menjalankan arahan Linux berikut:

Perl -mcpan -e 'Pasang Qc (lchown)'

Kesimpulan

Setelah berjaya menyelesaikan tutorial ini, anda kini harus mempunyai skim sandaran berkualiti tinggi. Untuk dokumentasi tambahan, lihat halaman Man Rsnapshot, dan laman utamanya terletak di sini. Ia mengandungi cara yang sangat baik, yang boleh didapati dalam beberapa format. Di samping itu, saya akan mengesyorkan untuk menyemak program sandaran lain, ini termasuk RSYNC (hujung belakang ke RSNAPSHOT), RDIFF-BACKUP, PARTIMAGE, dan DD.

Tutorial Linux Berkaitan:

  • Contoh rsync di linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Cara membuat sandaran tambahan menggunakan rsync pada linux
  • Perisian sandaran ubuntu terbaik
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Cara membuat sandaran tambahan dan pembezaan dengan tar
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara membuat sandaran sistem tambahan dengan timeshift pada ..
  • Menguasai Gelung Skrip Bash