Transferul de fișiere în Linux este o sarcină obișnuită pe care fiecare administrator de sistem ar trebui să o cunoască, în special atunci când transferă fișiere între sistemele locale sau la distanță prin intermediul rețelelor.
Linux oferă două instrumente foarte populare pentru acest scop: SCP (Secure Copy) și Rsync. Cele două asigură o modalitate sigură și simplă de a transfera fișiere între mașini locale sau la distanță.
În acest articol, vom explora modul de utilizare a comenzilor SCP și Rsync pentru a transfera fișiere, acoperind atât transferurile de fișiere locale, cât și cele la distanță.
Noțiuni despre scp (Secure Copy Protocol)
Comanda scp este un program în linia de comandă utilizat pentru a copia în siguranță fișiere și directoare între două gazde utilizând SSH (Secure Shell), ceea ce înseamnă că datele sunt transferate într-un mod criptat în timpul transferului prin internet.
Sintaxa de bază pentru utilizarea scp este următoarea:
scp [options] source_file destinationExplicația comenzii este:
- source_file: fișierul sau directorul pe care doriți să îl copiați.
- destination: locația în care doriți să copiați fișierul sau directorul.
Copierea locală a fișierelor
Dacă doriți să copiați un fișier dintr-un director în altul pe aceeași unitate, puteți utiliza:
scp ~/document.txt /tmpCopierea fișierelor pe un server la distanță
Pentru a copia fișiere de pe un calculator local pe un server la distanță, va trebui să menționati adresa IP a serverului și calea de destinație.
scp ~/document.txt username@192.168.1.100:/home/usernameCopierea fișierelor de pe un server de la distanță
Pentru a copia un fișier de pe un server de la distanță pe un calculator local, este suficient să inversați sursa și destinația:
scp username@192.168.1.100:/home/username/document.txt /tmpPentru a copia un întreg director, utilizați opțiunea -r (care înseamnă recursiv):
scp -r ~/tecmint /tmpNoțiuni despre rsync
Comanda rsync este un alt instrument pentru linia de comandă utilizat pe scară largă pentru transferul de fișiere, având rolul de a transfera fișiere și directoare între sursă și destinație, fiind de obicei utilizat pentru sincronizarea directoarelor.
Sintax de bază pentru utilizarea rsync este:
rsync [options] source destinationTransfer local de fișiere
Pentru a transfera fișiere sau directoare la nivel local, puteți utiliza rsync cu opțiunea -a pentru a activa modul arhivă, care păstrează permisiunile, proprietatea și marcajele temporale.
Opțiunea -v reprezintă verbose, care arată progresul transferului de fișiere.
rsync -av ~/myfolder /backupTransfer de fișiere către un server la distanță
Pentru a transfera fișiere către un server la distanță, rsync utilizează SSH în mod implicit, aici trebuie să specificați adresa IP și locația serverului.
rsync -av ~/myfolder username@192.168.1.100:/home/usernameComanda de mai sus va transfera directorul myfolder pe un server de la distanță, iar dacă executați comanda din nou, rsync va copia numai fișierele care au fost modificate sau fișierele noi.
Transfer de fișiere de pe un server
Pentru a transfera fișiere de pe un server de la distanță pe un calculator local, utilizați:
rsync -av username@192.168.1.100:/home/username/myfolder /backupSincronizarea directoarelor cu rsync
Unul dintre punctele forte ale rsync este capacitatea sa de a sincroniza directoare, ceea ce înseamnă că puteți menține două directoare sincronizate, indiferent dacă se află pe aceeași mașină sau pe mașini diferite.
De exemplu, pentru a sincroniza un directoar local cu un director la distanță trebuie să folosiți:
rsync -av /local/directory/ username@remote_host:/remote/directory/Pentru a sincroniza un director de la distanță cu un director local, ar trebui să inversați sursa și destinația:
rsync -av username@remote_host:/remote/directory/ /local/directory/Dacă transferul este întrerupt din cauza unei probleme a rețelei sau din alte motive, îl puteți relua folosind opțiunea –partial, care permite reluarea transferului de fișiere de unde a fost întrerupt.
rsync -av --partial /path/to/source username@remote_host:/path/to/destinationConcluzie
Transferul de fișiere în Linux este o sarcină simplă cu instrumente precum scp și rsync. În timp ce scp este simplu și sigur, rsync oferă caracteristici mai avansate precum sincronizarea și eficiența.
Înțelegerea modului de utilizare eficientă a acestor instrumente vă va ajuta să vă gestionați fișierele și datele în sistemele locale și la distanță.




