Cum se utilizează rsync pentru a copia fișiere

How Use Rsync Copy Files



Rsync este un instrument de linie de comandă în Linux care este folosit pentru a copia fișiere dintr-o locație sursă într-o locație destinație. Puteți copia fișiere, directoare și întregul sistem de fișiere și puteți păstra sincronizate fișierele între diferite directoare. Face mai mult decât să copieze fișierele. Reduce cantitatea de date trimise prin rețea prin trimiterea numai a fișierelor noi sau actualizate. De aceea este considerat un utilitar excelent pentru copierea fișierelor și copierea de rezervă. Rsync acceptă, de asemenea, copierea fișierelor pe un sistem la distanță prin SSH.

În acest articol, vom explica cum să utilizați rsync pentru a copia fișiere cu câteva exemple practice. De asemenea, vom explica utilizarea rsync în copierea unui singur fișier, a mai multor fișiere și a unui director atât la sistemele locale, cât și la cele la distanță. Vom prezenta cum să utilizați Rsync pentru:







  • Copiați fișierul / directorul în sistemul local
  • Copiați fișierul / directorul de la local la sistemul la distanță
  • Copiați fișierul / directorul din sistemul de la distanță în local

Am explicat comenzile și procedura menționate în acest articol pe un Ubuntu 20.04 LTS. Veți avea nevoie de terminalul din linia de comandă pentru copierea fișierelor utilizând rsync. Pentru a deschide aplicația Terminal de linie de comandă, utilizați comanda rapidă de la tastatură Ctrl + Alt + T.



Instalarea Rsync

Rsync vine preinstalat în Ubuntu 20.04 LTS. Cu toate acestea, dacă este eliminat accidental din sistem, îl puteți instala după cum urmează:



$sudoaptinstalarersync

Iată câteva dintre opțiunile frecvent utilizate care pot fi utilizate cu rsync:





–A: modul arhivă
–V: arată detalii despre procesul de copiere
–P: arată bara de progres
–R: copiază datele recursiv
–Z: comprimă datele
–Q: suprima ieșirea

Copiați fișierele și directoarele la nivel local

Sintaxa generală a rsync este:



$rsync[opțiune] [sursă] [destinaţie]

Copiați un singur fișier local

Dacă doriți să copiați un fișier dintr-o locație în alta în sistemul dvs., puteți face acest lucru tastând rsync urmat de numele fișierului sursă și directorul de destinație.

De exemplu, pentru a copia un singur fișier file1.txt din locația curentă care este directorul Home în directorul ~ / Documents, comanda ar fi:

$rsync/Acasă/crede/file1.txt/Acasă/crede/Documente

Notă: În loc de /home/tin/file1.txt, putem tasta și fișierul1 deoarece lucrăm în prezent în directorul de start. De asemenea, putem folosi ~ / Documents în loc să menționăm calea completă ca / ​​home / tin / Documents.

Copiați mai multe fișiere la nivel local

Dacă doriți să copiați mai multe fișiere simultan dintr-o locație în alta din sistemul dvs., puteți face acest lucru tastând rsync urmat de numele fișierelor sursă și directorul de destinație.

De exemplu, pentru a copia fișierele file2.txt și file3.txt din directorul Home în directorul ~ / Documents, comanda ar fi:

$rsync/Acasă/crede/file2.txt/Acasă/crede/file3.txt/Acasă/crede/Documente

Pentru a copia toate fișierele cu aceeași extensie, puteți utiliza simbolul asterisc (*) în loc să specificați în mod individual numele fișierelor. De exemplu, pentru a copia toate fișierele din directorul Acasă care se termină cu extensia .zip în directorul ~ / Documents, vom folosi:

$rsync/Acasă/crede/ *.zip ~/Documente

Copiați directoare local

Dacă doriți să copiați un director cu subdirectorul său și tot conținutul dintr-o locație în alta din sistemul dvs., puteți face acest lucru, tastând rsync urmat de directorul sursă și destinație.

De exemplu, pentru a copia exemplul de director în directorul test / director din directorul Acasă, comanda ar fi:

$rsync-de /Acasă/crede/probă/Acasă/crede/Test

Notă: Specificarea / după directorul sursă copiază numai conținutul directorului. Dacă nu specificăm / după directorul sursă, directorul sursă va fi, de asemenea, copiat în directorul de destinație.

La fel ca în următoarea ieșire, puteți vedea că eșantionul de director sursă este, de asemenea, copiat în directorul de destinație (deoarece am folosit eșantion în loc de eșantion / ca director sursă).

Rsync acceptă transferul incremental, după cum puteți vedea în rezultatul de mai sus că transferă doar fișierele noi sau actualizate.

Copiați fișierele pe baza dimensiunii maxime

În timpul copierii, putem specifica și dimensiunea maximă a fișierelor care pot fi copiate cu opțiunea –max-size. De exemplu, pentru a copia fișierele nu mai mari de 2000k din directorul ~ / Descărcări în ~ / Documente, comanda ar fi:

$rsync-la --mărime maximă= 2000k/Acasă/crede/Descărcări/ * /Acasă/crede/Documente

Această comandă va copia toate fișierele din directorul ~ / Downloads în ~ / Documents, cu excepția celor mai mari de 2000k.

Copiați fișierele pe baza dimensiunii minime

În mod similar, putem specifica și dimensiunea minimă a fișierelor care pot fi copiate cu opțiunea –min-size. De exemplu, pentru a copia fișierele nu mai puțin de 5M din directorul ~ / Descărcări în ~ / Documente, comanda ar fi:

$rsync-la --min-size= 5M/Acasă/crede/Descărcări/ /Acasă/crede/Documente

Această comandă va copia toate fișierele din ~ / Descărcări în directorul ~ / Documents, cu excepția celor mai mici de 5M.

Excludeți fișierele

În timp ce copiați fișiere dintr-un director în altul, puteți exclude unele fișiere folosind opțiunea „exclude” urmată de numele fișierului sau de extensia tipului de fișier.

De exemplu, pentru a exclude toate fișierele .zip în timp ce copiați fișiere din directorul ~ / Downloads în ~ / Documents, comanda ar fi:

$rsync-la --exclude=„* .zip” /Acasă/crede/Descărcări/ /Acasă/crede/Documente

Copiați fișierele și directoarele de la distanță

Cu Rsync, puteți copia un singur fișier, mai multe fișiere și directoare pe un sistem la distanță. Pentru a copia fișiere și directoare de la distanță, veți avea nevoie de:

  • Rsync instalat atât pe sistemul local, cât și pe cel de la distanță
  • Acces SSH la sistemul de la distanță
  • Parola de utilizator la distanță

Înainte de a copia fișiere folosind rsync, asigurați-vă că puteți accesa sistemul de la distanță prin SSH:

$sshutilizator_distanță@remote_ip


Sintaxa generală pentru copierea fișierelor și directoarelor pe un sistem la distanță folosind rsync:

$rsync[opțiune] [sursă] [utilizator de la distanță@remoteip: destinație]

De exemplu, pentru a copia un singur fișier file.txt din ~ / Descărcări în sistemul de la distanță ~ / Documente director, comanda ar fi:

$rsync-v~/Descărcări/file1.txt umara@192.168.72.164:~/Documente

În mod similar, pentru a copia directorul ~ / Downloads / files într-un sistem local cu subdirectorul său și tot conținutul în directorul ~ / Downloads / samples din sistemul la distanță:

$rsync-rv~/Descărcări/dosare umra@192.168.72.164:~/Descărcări/probe

De asemenea, puteți copia fișierele și directoarele de pe aparatul de la distanță pe aparatul dvs. local. De exemplu, pentru a copia un fișier2.txt din sistemul de la distanță pe desktopul sistemului local:

$rsync-vumara@192.168.72.164:~/Descărcări/file2.txt ~/Desktop/

În mod similar, pentru a copia un director din sistemul la distanță în sistemul local

$rsync-rvumara@192.168.72.164:~/Descărcări/eșantion ~/Desktop/Test

De asemenea, puteți utiliza toate opțiunile, cum ar fi –max-size, –min-size, –exclude și altele, în timp ce copiați fișiere în / din sistemul de la distanță.

Rsync este un instrument excelent pentru copierea fișierelor de la sursă la destinație, fie local, fie de la distanță. Acesta include un set mare de opțiuni care vă oferă flexibilitate și control în timp ce transferați fișiere către / din sistemul de la distanță.