03/28/2024

Cum să faceți backup pentru sistemul dvs. Linux

Nu riscați pierderea datelor. Faceți copii de rezervă ale datelor dvs. valoroase din linia de comandă Linux. Vom folosi comanda rsync pentru asta și chiar am găsit câteva interfețe grafice opționale frumoase pentru aceasta.

Există multe modalități de a realiza o copie de rezervă a fișierelor dvs. Am vrut să vă arătăm o modalitate solidă, flexibilă și fiabilă de a vă proteja datele. Alegem rsync din cauza acestuia algoritmi bine respectați care calculează diferențele dintre fișierele din directorul sursă și directorul țintă. Sunt transferate doar diferențele dintre două versiuni ale unui fișier, nu întregul fișier dacă acest lucru poate fi evitat.

Când această eficiență este asociată cu istoricul său solid în efectuarea de copii de fișiere și sincronizări de directoare de la mijlocul anilor 1990, rsync este candidatul perfect pentru crearea de copii de rezervă din linia de comandă Linux.

În plus, există programe software independente care acționează ca un front-end pentru rsync. Acestea oferă interfețe grafice pentru utilizator (GUI) pentru rsync, pe care unii oameni le pot găsi mai ușor de utilizat.

Cu cât este mai simplu și mai rapid să faci o copie de rezervă, cu atât este mai probabil să o faci.

Utilizarea rsync cu un hard disk extern

Pentru a face o copie de rezervă a datelor dvs. pe un hard disk extern, hard disk-ul trebuie să fie montat și accesibil pentru dvs. Dacă poți să-i scrii, atunci poate și rsync. În acest exemplu, un hard disk extern USB numit SILVERXHD (pentru „Silver eXternal Hard Drive”) este conectat la computerul Linux. A fost montat automat de sistemul de operare.

Va trebui să știți calea către unitate. În GNOME, deschideți browserul de fișiere Nautilus și găsiți numele unității în bara laterală.

Treceți cursorul mouse-ului peste numele unității externe și un sfat explicativ vă va arăta calea către unitate.

În acest exemplu, tooltip ne informează că punctul de montare pentru sistemul de fișiere de pe unitatea externă este „/media/dave/SILVERXHD”.

Dacă browserul dvs. de fișiere nu face acest lucru, navigați la unitatea externă și deschideți o fereastră de terminal în acea locație. Utilizați comanda pwd pentru a imprima calea către fereastra terminalului.

Copierea conținutului din directorul sursă

Pentru a utiliza rsync pentru a copia conținutul unui director în destinația de rezervă, utilizați următoarea comandă.

  Cum să faceți copii de rezervă pentru carduri SD și unități flash pe Linux cu DD

Opțiunea -r (recursivă) face ca rsync să copieze toate subdirectoarele imbricate și conținutul acestora. Rețineți că există o bară oblică „/” la sfârșitul cuvântului „SILVERXHD”, dar s-a înfășurat la următoarea linie din captură de ecran.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

Copierea fișierului are loc și veți reveni la linia de comandă promptă.

Dacă ne uităm la unitatea USB externă, vedem că directoarele care se află în directorul Documente au fost copiate în rădăcina unității externe.

ls

Copierea directorului sursă și a conținutului acestuia

Dacă ați dorit să copiați directorul Documente și conținutul acestuia pe unitatea externă, eliminați „/” de la sfârșitul „/home/dave/Documents” din linia de comandă, astfel:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

Pentru a evita confuzia, am eliminat cele două directoare copiate anterior de pe unitatea externă înainte ca această a doua comandă să fie executată.

Dacă lăsăm a doua copie să se finalizeze și aruncăm o altă privire la unitatea externă, vedem că directorul Documente a fost copiat. Conținutul său se află în acel director. Nu sunt în rădăcina unității externe.

Copierea într-un anumit director țintă

Pentru a copia într-un anumit director de pe hard disk-ul țintă, adăugați numele directorului la calea țintă. Să presupunem că vrem să copiem conținutul directorului „/home/dave/Documents” într-un director numit „backups” de pe unitatea externă.

Am face asta cu următoarea comandă.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Verificând pe unitatea externă, putem vedea că directorul de copii de siguranță a fost creat, iar în acel director se află conținutul directorului „/home/dave/Documents”.

ls
ls backups

Păstrarea dreptului de proprietate asupra fișierelor și a permisiunilor

Utilizați opțiunea -a (arhivă) pentru a păstra atributele fișierelor, cum ar fi datele modificării, proprietatea fișierului, permisiunile de acces și multe altele, pentru fișierele copiate, linkurile simbolice și fișierele bloc speciale.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Utilizarea modului Verbose

Opțiunea -v (verboză) forțează rsync să listeze fișierele pe măsură ce acestea sunt copiate.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Un rezumat al copiei de rezervă este prezentat când copierea este finalizată.

Trimis: octeții transferați către țintă.
Primiți: octeții primiți la gazdă.
Bytes/sec: este rata efectivă de transfer.
Dimensiunea totală: reprezintă dimensiunea datelor care ar fi fost trimise dacă nu ați fi folosit rsync. La rulările ulterioare ale rsync, acesta va transfera doar diferențele de fișiere. Această cifră va reprezenta datele care nu au trebuit să fie transferate.
Accelerare: Acesta este raportul dintre cantitatea de date care trebuia trimisă și cantitatea totală de date care există. Dacă rsync trebuie să copieze toate fișierele în întregime (prima dată când este rulat, de exemplu), accelerarea va fi 1.0. La următoarea utilizare a rsync, acesta va optimiza transferurile. Va trimite doar diferențele dintre fișiere, nu toate fișierele. Fișierele fără modificări vor fi ignorate. Cifra de accelerare va reprezenta raportul dintre cantitatea mică de date care trebuia transferată și dimensiunea totală a fișierelor.

  Cum să joci jocuri Super Nintendo pe Linux cu Snes9x

Utilizarea opțiunii de progres

Opțiunea -P (progres) face ca rsync să genereze un mic raport de progres după ce fiecare fișier este copiat.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Informațiile furnizate pot fi văzute între fiecare fișier copiat.

Informatiile furnizate sunt:

Dimensiune octet: date transferate pentru acest fișier.
Procent: Procentul din fișierul transferat.
B/s: Rata de transfer de date.
Timp rămas: timp estimat rămas pentru transferul acestui fișier.
xfr#: numărul de fișiere transferate până acum.
to-chk: numărul de fișiere rămase pentru a fi verificate și verificate de algoritmii de optimizare.

Adăugarea mai multă viteză

Pentru a accelera transferurile, utilizați opțiunea -z (compresie). Acest lucru comprimă fișierul în transfer, dar fișierul este stocat necomprimat în directorul țintă.

Opțiunea de compresie nu va aduce beneficii semnificative pentru transferurile care implică multe fișiere mici. Pentru colecțiile de fișiere mai mari, poate reduce timpul de transfer într-un mod semnificativ.

De asemenea, folosim opțiunea –partial aici. rsync va șterge fișierele parțial transferate cauzate de erori de rețea sau alte întreruperi. Opțiunea –partial forțează rsync să lase fișierele parțial transferate pe țintă. Timpul net rulează rsync, nu va trebui să retransfere părțile fișierelor parțial transferate.

Rețineți că este posibil să nu doriți să utilizați această opțiune dacă există riscul ca cineva să confunde fișierele parțial transferate cu fișierele transferate complet.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

În exemplul nostru, beneficiile sunt marginale.

Rata de accelerare s-a îmbunătățit, dar cu două sutimi de procente! Într-un scenariu real, îmbunătățirile de viteză vor fi mai impresionante.

Utilizarea rsync într-o rețea

Până acum am vizat o unitate USB externă. Pentru a utiliza o locație de rețea ca țintă pentru backup, utilizați calea către acea locație pe linia de comandă. Este un dispozitiv de stocare atașat la rețea (NAS) în rețeaua pe care a fost cercetat acest articol.

Putem folosi același truc pe care l-am folosit mai devreme pentru a identifica calea către NAS, trecând mouse-ul peste conexiunea la acel dispozitiv în Nautilus.

Nu există opțiuni speciale pentru backup într-o rețea; acestea sunt toate opțiunile pe care le-am folosit deja.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

Nu există nicio diferență în formatul de ieșire.

Nu este surprinzător că există o îmbunătățire semnificativă a cifrei de octeți/sec.

Dacă rulăm din nou rsync, putem vedea că nu există fișiere de transferat, deoarece nu au existat modificări, dar mai sunt câțiva octeți transferați înainte și înapoi. Aceasta este cantitatea de date care trebuie transferată pentru a compara lista de fișiere de pe țintă cu lista de fișiere de pe sursă.

  Cum se instalează Deepin Desktop pe Linux

Raportul de accelerare este cu un ordin de mărime mai bun în acest caz. În practică, rapoartele tale de performanță se vor situa undeva între cele două citiri pseudo-artificiale ale noastre.

Folosind rsync peste SSH

rsync acceptă backup printr-o conexiune SSH. Trebuie să furnizăm numele contului de utilizator și locația SSH pe linia de comandă. Aici folosim un nume de rețea, dar puteți folosi și o adresă IP.

Rețineți „:” dintre detaliile conexiunii SSH și începutul căii de rețea pe ținta de la distanță.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

Vi se va cere parola contului de utilizator de pe mașina de la distanță. Aceasta nu este parola dvs. de pe computerul sursă.

Backup-ul se va finaliza ca de obicei. Debitul nu este la fel de rapid ca o conexiune obișnuită de rețea, din cauza criptării și decriptării care au loc în conexiunea shell securizată.

Automatizarea copiilor de rezervă

Putem crea cu ușurință copii de rezervă automate adăugând intrări în fișierul crontab.

crontab -e

Vom configura o copie de rezervă automată pentru a rula în fiecare zi la 04:30 (dacă computerul este pornit la acea oră, desigur). Sintaxa pentru comanda rsync nu se schimbă deloc.

Ctrl+O va scrie modificările în fișier, iar Ctrl+X va închide editorul nano.

Pune o față prietenoasă pe Rsync

Persoanele care sunt mai puțin confortabile cu linia de comandă pot folosi unul dintre numeroasele programe care pun o interfață grafică cu utilizatorul (GUI) pe rsync. Două exemple bune sunt luckyBackup și Grsync. Ambele programe permit selectarea multor opțiuni de rsync prin interfața cu utilizatorul.

Programul Grsync se concentrează pe a fi un înveliș vizual pentru rync. Oferă acces ușor la opțiunile rsync și adaugă doar un set limitat de noi funcționalități.

Una dintre casetele de dialog pentru setările Grsync,

Programul luckyBackup este mult mai mult decât un simplu wrapper pentru rsync. Este un program de rezervă care utilizează rsync în culise. De exemplu, luckyBackup poate face mai multe „instantanee” ale copiei de rezervă. Puteți apoi „revenire” la versiunile fișierelor din oricare dintre instantanee.

Una dintre casetele de dialog pentru setările luckyBackup.

Pentru a instala Grsync

Pentru a instala Grsync în Ubuntu, utilizați această comandă:

sudo apt-get install grsync

Pentru a instala Grsync în Fedora, utilizați această comandă:

sudo dnf install grsync

Pentru a instala Grsync în Manaro, utilizați această comandă:

sudo pacman -Syu grsync

Pentru a instala luckyBackup

Pentru a instala luckyBackup în Ubuntu, utilizați următoarea comandă:

sudo apt-get install luckybackup

Pentru a instala luckyBackup în Fedora, utilizați următoarea comandă:

sudo dnf install luckybackup

În Manjaro trebuie să instalați luckyBackup din Arch User Repository (AUR). Puteți face acest lucru cu managerul de pachete pamac.

Nu riscați, faceți copii de siguranță ale datelor dvs. des

Backup-urile sunt absolut vitale. Faceți backup frecvent, faceți copii de rezervă în mai multe locații și faceți copii de rezervă pe diferite medii. Odată configurat, rsync poate face toate acestea pentru tine.

x