martie 6, 2022

Cum să faceți o copie de rezervă a unui sistem Debian folosind Backupninja

actualizat ultima dată pe 19 septembrie 2020 de Gabriel c Inktsnepa

prudența sau experiența prin dezastru pot învăța fiecare sysadmin importanța efectuării de copii de rezervă frecvente ale sistemului. Puteți face acest lucru scriind scripturi shell vechi bune sau folosind unul (sau mai multe) dintre numeroasele instrumente de rezervă disponibile pentru lucrare (de exemplu, Clonezilla, duplicitate). Astfel, cu cât vă familiarizați mai multe instrumente, cu atât veți lua decizii mai bine informate atunci când implementați o soluție de rezervă.

în acest articol vom prezenta Backupninja, un instrument de backup ușor și ușor de configurat. Cu ajutorul unor programe precum rdiff-backup, duplicity, mysqlhotcopy și mysqldump, Backupninja oferă funcții comune de rezervă, cum ar fi backup-uri de sistem de fișiere la distanță, sigure și incrementale, backup criptat și backup de baze de date MySQL/MariaDB. Puteți activa selectiv rapoartele de e-mail de stare și puteți face backup și pentru informații generale despre hardware și sistem. O forță cheie a Backupninja este un expert bazat pe consolă încorporat (numit ninjahelper) care vă permite să creați cu ușurință fișiere de configurare pentru diferite scenarii de rezervă.

dezavantajul, ca să spunem așa, este că Backupninja necesită instalarea altor programe de ajutor pentru a profita din plin de toate caracteristicile sale. În timp ce pachetul RPM al Backupninja este disponibil pentru distribuțiile bazate pe Red Hat, dependențele Backupninja sunt optimizate pentru Debian și derivatele sale. Astfel, nu este recomandat să încercați Backupninja pentru sistemele bazate pe Red Hat.

în acest tutorial, vom acoperi instalarea Backupninja pentru distribuțiile bazate pe Debian.

instalarea Backupninja

rulați următoarea comandă ca root:

# aptitude install backupninja

în timpul instalării, vor fi create mai multe fișiere și directoare:

  • /usr/sbin/backupninja este principalul script bash shell.
  • /etc/cron.d/backupninja, în mod implicit, instruiește cron să ruleze scriptul principal o dată pe oră.
  • /etc/logrotate.d/backupninja rotește jurnalele create de program.
  • /etc/backup.d/ este directorul în care se află fișierele de configurare pentru acțiunile de rezervă.
  • /etc/backupninja.conf este fișierul principal de configurare care include opțiuni generale. Este bine comentat și explică fiecare opțiune în detaliu.
  • /usr/share/backupninja este directorul în care se află scripturile utilizate de Backupninja (aka handlers). Acestea sunt scripturile care sunt responsabile de a face munca reală. În acest director veți găsi, de asemenea, fișiere .helper, care sunt utilizate pentru configurarea și configurarea meniurilor ninjahelper.
  • /usr/share/doc/backupninja/examplesconține șabloane pentru fișiere de configurare de acțiune (tipul de fișiere care sunt create prin ninjahelper).

rularea ninjahelper pentru prima dată

când încercăm să lansăm ninjahelper, putem vedea că poate fi necesară o dependență internă. Dacă vi se solicită, introduceți yes și apăsați tasta ENTER pentru a instala dialog (un instrument care afișează casete de dialog ușor de utilizat din scripturile shell).

când apăsați Enter după tastarea da, Backupninja va instala dialogul și va prezenta următorul ecran după ce ați terminat.

Exemplul 1: Back Up hardware și Sistem Info

după lansarea ninjahelper , vom crea o nouă acțiune de rezervă:

dacă programele de ajutor necesare nu sunt instalate, vom fi prezentate cu următoarele ecrane. Nu luați în considerare acest pas dacă aceste pachete au fost deja instalate pe sistemul dvs.

următorul pas constă în selectarea elementelor pe care doriți să le faceți parte din această copie de rezervă. Primele patru sunt selectate în mod implicit, dar le puteți deselecta apăsând bara de spațiu.

după ce ați terminat, apăsați OK pentru a continua. Veți putea alege dacă doriți să utilizați fișierul de configurare implicit pentru această acțiune de rezervă (/etc/backup.d/10.sys) sau dacă doriți să creați unul nou. În acest din urmă caz, un nou fișier cu același conținut ca cel implicit va fi creat sub același director, dar numit 11.sys și așa mai departe pentru acțiunile viitoare de backup ale sistemului. Rețineți că puteți edita fișierul de configurare după ce este creat cu editorul de text preferat.

Exemplul 2: Incremental Rsync trage de rezervă a unui director la distanță

după cum știți cel mai probabil, rsync este utilizat pe scară largă pentru a sincroniza fișiere și foldere într-o rețea. În exemplul următor vom discuta despre o abordare pentru a lua backup-uri de tragere incrementale ale unui director la distanță cu hardlinking pentru a salva datele istorice și a le stoca în serverul nostru de fișiere local. Această abordare ne va ajuta să economisim spațiu și să creștem securitatea pe partea serverului.

Pasul 1: scrieți un script personalizat în directorul /etc/backup.d cu următorul conținut și chmod la 600. Rețineți că acest director poate conține, pe lângă fișierele de configurare simple, scripturi pe care doriți să le rulați atunci când Backupninja este executat, cu avantajul utilizării variabilelor prezente în fișierul de configurare principal.

# REMOTE USERuser=root# REMOTE HOSThost=dev1# REMOTE DIRECTORYremotedir=/home/gacanepa/# LOCAL DIRECTORYlocaldir=/home/gacanepa/backup.0# LOCAL DIRECTORY WHERE PREVIOUS BACKUP WAS STOREDlocaldirold=/home/gacanepa/backup.1mv $localdir $localdirold# RSYNCrsync -av --delete --recursive --link-dest=$localdirold $host:$remotedir $localdir

în configurația de mai sus, opțiunea --link-dest a rsync este utilizată pentru a hardlink fișiere neschimbate (în toate atributele) de la $localdir-oldla directorul de destinație ($localdir).

Pasul 2: înainte ca Backupninja să fie rulat pentru prima dată, directorul părinte (/home/gacanepa în acest caz) este gol. Prima dată când executăm:

# backupninja -n

directorul backup.0 este creat, iar mai târziu în acest proces numele său este schimbat în backup.1.

a doua oară când rulăm Backupninja, backup.0 este recreat și backup.1 este păstrat.

Pasul 3: Verificați dacă conținutul backup.1 sunt legături dure către fișierele din backup.0 comparând numerele respective de inode și dimensiunile directorului.

concluzie

Backupninja nu este doar un instrument clasic de backup, ci și un utilitar ușor de configurat. Puteți scrie propriile stivuitoare pentru a rula Backupninja ca pe fișierele de configurare individuale situate în /etc/backup.d, și puteți scrie chiar ajutoare pentru ninjahelper, în scopul de a le include în interfața sa principală.

de exemplu, dacă creați un handler numit xmodulo în /usr/share/backupninja, acesta va rula în mod implicit fiecare fișier cu extensia .xmoduloîn /etc/backup.d. Dacă decideți că doriți să adăugați handler-ul xmodulo la ninjahelper, puteți scrie helper-ul corespunzător ca xmodulo.helper. În plus, dacă doriți ca Backupninja să ruleze un script arbitrar, adăugați-l la /etc/backup.d și sunteți bine să mergeți. Consultați acest tutorial Backupninja pentru detalii despre crearea unui plan de rezervă personalizat.

Lasă un răspuns

Adresa ta de email nu va fi publicată.