rsync

Cum se utilizează rsync pentru a copia fișiere

Cum se utilizează rsync pentru a copia fișiere
Rsync este un instrument de linie de comandă în Linux care este utilizat 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 numai prin trimiterea 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 directorului atât la sistemele locale, cât și la cele la distanță. Vom prezenta cum să utilizați Rsync pentru:

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ă:

$ sudo apt install rsync

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

-a: modul arhivă
-v: afișează detalii despre procesul de copiere
-p: arată bara de progres
-r: copiază datele recursiv
-z: comprimă datele
-q: suprimați 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 ”de la locația curentă care este directorul Home la directorul ~ / Documents, comanda ar fi:

$ rsync / home / tin / file1.txt / home / tin / Documents

Notă: În loc de „/ home / tin / file1.txt ”, putem tasta și„ file1 ”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 Acasă în directorul ~ / Documente, comanda ar fi:

$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documents

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 „.zip ”la directorul ~ / Documents, vom folosi:

$ rsync / home / tin / *.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 directorul „eșantion” în directorul „test /” din directorul Acasă, comanda ar fi:

$ rsync -av / home / tin / sample / home / tin / test

Notă: Specificarea „/” după directorul sursă copiază doar conținutul directorului. Dacă nu specificăm „/” după directorul sursă, directorul sursă va fi copiat și în directorul de destinație.

Ca și în următoarea ieșire, puteți vedea că directorul sursă „sample” este copiat și în directorul de destinație (deoarece am folosit „sample” în loc de „sample /” 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 -a --max-size = 2000k / home / tin / Downloads / * / home / tin / Documents

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 -a --min-size = 5M / home / tin / Downloads / / home / tin / Documents

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 ~ / Descărcări în ~ / Documente, comanda ar fi:

$ rsync -a --exclude = "*.zip "/ home / tin / Downloads / / home / tin / Documents

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:

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

$ ssh remote_user @ remote_ip


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

$ rsync [opțiune] [sursă] [remoteuser @ remoteip: destination]

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

$ rsync -v ~ / Downloads / 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 ~ / Downloads / files umara @ 192.168.72.164: ~ / Descărcări / mostre

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 ”de la sistemul de la distanță la desktopul sistemului local:

$ rsync -v umara @ 192.168.72.164: ~ / Descărcări / fișier2.txt ~ / Desktop /

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

$ rsync -rv umara @ 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 / de la 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ță.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...