Realizarea backupurilor regulate este esențială pentru securitatea datelor și continuitatea activității digitale.
În mediile Linux, o metodă eficientă, flexibilă și automatizabilă presupune utilizarea comenzii rsync împreună cu programatorul de sarcini cron.
În activitatea noastră de administrare a serverelor, am testat de nenumărate ori combinația rsync și cron pentru backupuri automate și am observat că verificarea periodică a logurilor este la fel de importantă ca automatizarea în sine. Fișierele de log arată rapid dacă un job a eșuat din lipsă de spațiu sau din cauza unor permisiuni greșite. Recomandăm întotdeauna testarea manuală a comenzii înainte de a o adăuga în crontab, mai ales când se folosește opțiunea --delete.
Această combinație permite copierea incrementală a fișierelor, economisind timp și resurse.
Backup complet automat cu rsync și cron?
1. Ce este rsync?
rsync este un utilitar de sincronizare a fișierelor, disponibil în majoritatea distribuțiilor Linux.
Acesta compară sursa și destinația și transferă doar fișierele noi sau modificate, fiind ideal pentru backupuri frecvente și rapide.
2. Instalarea rsync
Pe majoritatea sistemelor Linux, rsync este preinstalat. Dacă nu este disponibil, îl puteți instala astfel:
-
- Debian/Ubuntu:
sudo apt install rsync
-
- CentOS/RHEL:
sudo yum install rsync
3. Structura comenzii rsync
O comandă de bază pentru backup cu rsync arată astfel:
rsync -avh /cale/sursa/ /cale/destinatie/
- -a: arhivează fișierele (permisiuni, linkuri, proprietar)
- -v: mod verbose, afișează procesul
- -h: formatează dimensiunile fișierelor într-un mod ușor de citit
4. Exemplu de backup local
Backup al directorului /var/www către /backup/www:
rsync -avh /var/www/ /backup/www/
Asigurați-vă că destinația există și are permisiuni corespunzătoare.
5. Exemplu de backup remote prin SSH
rsync -avhe ssh /var/www/ user@remote_server:/home/user/backup_www/
Această comandă face backupul fișierelor de pe serverul local pe un server remote folosind autentificare SSH.
6. Automatizarea backupului cu cron
cron este programatorul de sarcini în Linux care poate rula comenzi la intervale prestabilite.
Pentru a crea un backup automat zilnic, editați fișierul cron al utilizatorului:
crontab -e
Adăugați o linie precum:
0 2 * * * rsync -avh /var/www/ /backup/www/ >> /var/log/rsync-backup.log 2>&1
Aceasta va rula backupul în fiecare zi la ora 02:00 și va salva logurile într-un fișier dedicat.
7. Backup incremental cu ștergerea fișierelor eliminate
Pentru a menține sincronizarea perfectă, inclusiv ștergerea fișierelor eliminate din sursă:
rsync -avh --delete /var/www/ /backup/www/
Atenție: --delete poate duce la pierderea datelor dacă este utilizat incorect. Testați comanda înainte de automatizare.
8. Backup criptat și securizat
Folosiți chei SSH pentru a automatiza backupul remote fără parolă. Generați cheia cu:
ssh-keygen -t rsa
Transferați cheia pe serverul de destinație:
ssh-copy-id user@remote_server
Apoi, rsync poate fi rulat prin cron fără intervenție umană.
9. Găzduirea backupurilor pe un disc extern sau în cloud
-
- Pentru disc extern:
rsync -avh /var/www/ /media/nume_disc/www_backup/
-
- Pentru cloud (cu rclone, configurat anterior):
rclone sync /var/www remote:backup/www
10. Verificarea și restaurarea backupurilor
Este esențial să verificați periodic dacă backupurile s-au efectuat corect și pot fi restaurate. Puteți folosi:
-
- diff pentru comparație:
diff -rq /var/www/ /backup/www/
-
- Restaurarea se face simplu, cu rsync în sens invers:
rsync -avh /backup/www/ /var/www/
Implementarea unui sistem automat de backup cu rsync și cron în Linux este o soluție eficientă, rapidă și de încredere pentru protejarea datelor.
Flexibilitatea rsync, combinată cu capacitatea cron de a programa sarcini, permite crearea unei rutine automate care asigură redundanță și securitate.
Nu uitați să verificați periodic funcționarea backupului și să păstrați copii externe pentru siguranță maximă.
Ce greșeli apar frecvent la configurarea cron pentru rsync
O greșeală des întâlnită este lipsa căii complete către comanda rsync în crontab. Mediul cron nu încarcă aceleași variabile ca terminalul obișnuit, așa că este recomandat să scrieți calea completă, de exemplu /usr/bin/rsync, în loc de doar rsync.
O altă problemă apare când utilizatorul care rulează cron nu are drepturi de citire pe folderul sursă sau de scriere pe destinație. Job-ul pare să ruleze, dar fișierul de log arată erori de permisiuni. Verificarea drepturilor înainte de programare evită acest tip de eșec tăcut.
Uneori clienții uită bara oblică finală din calea sursă sau destinație. Prezența sau absența acesteia schimbă comportamentul rsync, pentru că determină dacă se copiază conținutul folderului sau folderul însuși. Un test manual, așa cum am menționat mai devreme, elimină această confuzie înainte de automatizare.
Cum verificăm dacă backupul automat funcționează corect
Primul pas este citirea fișierului de log generat de job-ul cron, de exemplu /var/log/rsync-backup.log. Acolo apar mesaje despre fișierele transferate, erorile de conexiune sau lipsa de spațiu pe disc.
Un test suplimentar este compararea dimensiunii totale a folderului sursă cu cea a folderului de destinație, folosind comanda du -sh pentru fiecare cale. Diferențe mari între cele două valori indică de obicei un backup incomplet.
Recomandăm și o restaurare de test, măcar o dată la câteva luni, pe un folder temporar diferit de cel original. Astfel confirmați nu doar că fișierele există în backup, ci și că pot fi recuperate fără erori.
Întrebări frecvente primite de la clienți despre backup
Mulți clienți întreabă cât timp trebuie păstrate copiile vechi de backup. Răspunsul depinde de spațiul disponibil și de politica internă a companiei, dar o rotație simplă, cu ștergerea automată a copiilor mai vechi de o anumită perioadă, poate fi adăugată printr-un script separat rulat tot prin cron.
O altă întrebare comună se referă la notificări în caz de eșec. Adăugarea unei linii de cod care trimite un email atunci când rsync returnează o eroare ajută echipa tehnică să reacționeze rapid, fără să verifice manual logurile în fiecare zi.
În fine, clienții vor deseori să știe dacă backupul afectează performanța serverului în timpul rulării. Programarea job-ului în intervale de trafic redus, de obicei noaptea, reduce impactul asupra utilizatorilor activi ai site-ului sau aplicației.
Cum a fost realizat acest articol
- Autor
- Dorel Tănase
- Publicat
- 1 septembrie 2025
- Ultima actualizare
- 11 septembrie 2026
- Verificat la
- 11 septembrie 2026
- Cum am lucrat
- Comenzile și parametrii rsync și cron din articol au fost verificați prin testare directă pe sisteme Linux administrate de noi, în septembrie 2026.
- Surse


