Ghid complet pentru comenzile rsync în Linux. rsync este un instrument esențial pentru administratori și dezvoltatori Linux.
Cu ajutorul său, puteți efectua backup-uri rapide, transferuri de fișiere prin SSH, sincronizări automate și multe altele, totul cu un consum minim de resurse.
Înțelegerea comenzilor rsync și integrarea lor în procesele dumneavoastră zilnice poate îmbunătăți semnificativ securitatea și eficiența gestionării datelor.
Ce este rsync?
rsync este un instrument de linie de comandă în Linux utilizat pentru sincronizarea fișierelor și directoarelor între două locații, fie local, fie de la distanță.
Este apreciat pentru eficiența sa, deoarece transferă doar fișierele modificate, economisind timp și lățime de bandă.
Avantajele utilizării rsync
- Transfer incremental de fișiere
- Sincronizare locală sau prin SSH
- Verificare a integrității fișierelor prin checksum
- Posibilitatea de a păstra permisiuni, timpi de acces și structura directoarelor
- Ideal pentru backup-uri automate sau manuale
Ghid complet pentru comenzile rsync
1. Sintaxa generală a comenzii rsync
rsync [opțiuni] sursă destinație
Exemplu simplu:
rsync -avh /home/utilizator/documente/ /media/backup/documente/
2. Cele mai utilizate opțiuni rsync
-a
: arhivare (păstrează permisiuni, simbolic links, timpi, etc.)-v
: verbose (afișează detalii despre proces)-h
: human-readable (afișează dimensiuni în format ușor de citit)--progress
: afișează progresul fiecărui fișier--delete
: șterge fișierele din destinație care nu mai există în sursă
3. Sincronizare locală
Comandă pentru sincronizarea unui folder local cu altul:
rsync -avh --delete /var/www/html/ /backup/html/
4. Transfer prin SSH
Pentru a copia fișiere între un server local și unul remote:
rsync -avz -e ssh /home/utilizator/ user@192.168.1.10:/backup/
Explicații:
-z
: activează compresia datelor pentru transfer mai rapid-e ssh
: specifică utilizarea protocolului SSH
5. Excluderea anumitor fișiere sau directoare
rsync -av --exclude 'node_modules' --exclude '*.log' /proiect/ /backup/proiect/
Se pot exclude fișiere și directoare folosind sintaxa --exclude
.
6. Sincronizare bidirecțională?
rsync este unidirecțional: sincronizează din sursă în destinație.
Pentru sincronizare bidirecțională, trebuie folosite scripturi personalizate sau unelte precum unison
.
7. Programarea backup-urilor cu cron
Exemplu de backup zilnic la ora 2:00 AM:
0 2 * * * rsync -a /etc/ /backup/etc/
Linia se adaugă în fișierul crontab
cu comanda crontab -e
.
8. Verificarea fără a efectua modificări (dry-run)
rsync -avh --dry-run /home/utilizator/ /backup/utilizator/
Opțiunea --dry-run
vă arată ce s-ar întâmpla, fără a copia efectiv fișierele.
9. Logarea operațiunilor rsync
rsync -av --log-file=/var/log/rsync.log /date/ /backup/date/
Logurile sunt utile pentru depanare sau audit.
10. Sincronizarea doar a fișierelor modificate recent
find /sursa -type f -mtime -1 -print0 | rsync -av --files-from=- --from0 / /destinatie/
Acest exemplu sincronizează doar fișierele modificate în ultimele 24 de ore.
Comments (0)