Kako uporabiti rsync za kopiranje datotek

How Use Rsync Copy Files



Rsync je orodje ukazne vrstice v Linuxu, ki se uporablja za kopiranje datotek z izvorne lokacije na ciljno lokacijo. Lahko kopirate datoteke, imenike in celoten datotečni sistem ter sinhronizirate datoteke med različnimi imeniki. To ne pomeni le kopiranja datotek. Zmanjša količino podatkov, poslanih po omrežju, tako da pošilja samo nove ali posodobljene datoteke. Zato velja za odličen pripomoček za kopiranje in varnostno kopiranje datotek. Rsync podpira tudi kopiranje datotek v oddaljeni sistem prek SSH.

V tem članku bomo z nekaj praktičnimi primeri razložili, kako uporabiti rsync za kopiranje datotek. Pojasnili bomo tudi uporabo rsync pri kopiranju ene datoteke, več datotek in imenika v lokalne in oddaljene sisteme. Zajemali bomo, kako uporabljati Rsync za:







  • Kopirajte datoteko/imenik v lokalni sistem
  • Kopirajte datoteko/imenik iz lokalnega v oddaljeni sistem
  • Kopirajte datoteko/imenik iz oddaljenega sistema v lokalni

Pojasnili smo ukaze in postopek, omenjen v tem članku, na Ubuntu 20.04 LTS. Za kopiranje datotek z uporabo rsync boste potrebovali terminal ukazne vrstice. Če želite odpreti aplikacijo Terminal ukazne vrstice, uporabite bližnjico na tipkovnici Ctrl+Alt+T.



Namestitev programa Rsync

Rsync je vnaprej nameščen v Ubuntu 20.04 LTS. Če pa ga pomotoma odstranite iz sistema, ga lahko namestite na naslednji način:



$sudoaptnamestitersync

Tu je nekaj najpogosteje uporabljenih možnosti, ki jih je mogoče uporabiti z rsync:





–A: način arhiviranja
–V: prikazuje podrobnosti postopka kopiranja
–P: prikazuje vrstico napredka
–R: rekurzivno kopira podatke
–Z: stisne podatke
–Q: zavira izhod

Lokalno kopirajte datoteke in imenike

Splošna sintaksa rsync je:



$rsync[možnost] [vir] [cilj]

Lokalno kopirajte eno datoteko

Če želite kopirati datoteko z ene lokacije na drugo v sistemu, lahko to storite tako, da vnesete rsync sledi ime izvorne datoteke in ciljni imenik.

Na primer, če želite kopirati eno datoteko file1.txt s trenutne lokacije, ki je domači imenik, v imenik ~/Documents, bi bil ukaz naslednji:

$rsync/doma/verjeti/file1.txt/doma/verjeti/Dokumenti

Opomba: Namesto /home/tin/file1.txt lahko vnesemo tudi file1, saj trenutno delamo v domačem imeniku. Prav tako lahko uporabimo ~/Documents, namesto da omenimo celotno pot kot/home/tin/Documents.

Lokalno kopirajte več datotek

Če želite kopirati več datotek hkrati z ene lokacije na drugo v sistemu, lahko to storite tako, da vnesete rsync sledi ime izvornih datotek in ciljni imenik.

Na primer, za kopiranje datotek file2.txt in file3.txt iz domačega imenika v imenik ~/Documents bi bil ukaz naslednji:

$rsync/doma/verjeti/file2.txt/doma/verjeti/file3.txt/doma/verjeti/Dokumenti

Če želite kopirati vse datoteke z isto razširitvijo, lahko uporabite simbol zvezdice (*), namesto da posamezno določite imena datotek. Na primer, za kopiranje vseh datotek iz domačega imenika, ki se konča z razširitvijo .zip, v imenik ~/Documents bomo uporabili:

$rsync/doma/verjeti/ *.zip ~/Dokumenti

Lokalno kopirajte imenike

Če želite kopirati imenik z njegovim podimenikom in vso vsebino z enega mesta na drugega v vašem sistemu, lahko to storite tako, da vnesete rsync sledi izvorni in ciljni imenik.

Na primer, če želite kopirati vzorčni imenik v imenik test/ v domačem imeniku, bi bil ukaz naslednji:

$rsync-od /doma/verjeti/vzorec/doma/verjeti/preskus

Opomba: Določitev / po izvornem imeniku kopira samo vsebino imenika. Če za izvorni imenik ne določimo /, se izvorni imenik kopira tudi v ciljni imenik.

Tako kot v naslednjem izhodu lahko vidite, da je naš vzorec izvornega imenika tudi kopiran v ciljni imenik (saj smo uporabili vzorec namesto vzorca/ kot izvorni imenik).

Rsync podpira postopni prenos, kot lahko vidite v zgornjem izhodu, da prenaša samo nove ali posodobljene datoteke.

Kopirajte datoteke glede na največjo velikost

Med kopiranjem lahko določimo tudi največjo velikost datotek, ki jih je mogoče kopirati z možnostjo –max-size. Na primer, če želite kopirati datoteke, ki niso večje od 2000k iz ~/Downloads v imenik ~/Documents, bi bil ukaz naslednji:

$rsync-za -največja velikost= 2000k/doma/verjeti/Prenosi/ * /doma/verjeti/Dokumenti

Ta ukaz bo kopiral vse datoteke iz ~/Downloads v imenik ~/Documents, razen tistih, večjih od 2000k.

Kopirajte datoteke glede na najmanjšo velikost

Podobno lahko določimo tudi najmanjšo velikost datotek, ki jih je mogoče kopirati z možnostjo –min-size. Na primer, če želite kopirati datoteke, ki niso manjše od 5M iz ~/Downloads v imenik ~/Documents, bi bil ukaz naslednji:

$rsync-za -min= 5M/doma/verjeti/Prenosi/ /doma/verjeti/Dokumenti

Ta ukaz bo kopiral vse datoteke iz ~/Downloads v imenik ~/Documents, razen tistih, ki so manjše od 5M.

Izključi datoteke

Med kopiranjem datotek iz enega imenika v drugega lahko nekatere datoteke izključite z možnostjo —exclude, ki ji sledi ime datoteke ali razširitev vrste datoteke.

Na primer, če želite izključiti vse datoteke .zip med kopiranjem datotek iz imenika ~/Downloads v ~//Documents, bi bil ukaz naslednji:

$rsync-za --izključi='*.zip' /doma/verjeti/Prenosi/ /doma/verjeti/Dokumenti

Kopirajte datoteke in imenike na daljavo

Z Rsync lahko v oddaljeni sistem kopirate eno datoteko, več datotek in imenike. Za daljinsko kopiranje datotek in imenikov boste potrebovali:

  • Rsync je nameščen v lokalnem in oddaljenem sistemu
  • Dostop SSH do oddaljenega sistema
  • Geslo za oddaljenega uporabnika

Pred kopiranjem datotek z uporabo rsync preverite, ali lahko dostopate do oddaljenega sistema prek SSH:

$sshremote_user@remote_ip


Splošna skladnja za kopiranje datotek in imenikov v oddaljeni sistem z uporabo rsync:

$rsync[možnost] [vir] [oddaljeni uporabnik@remoteip: destinacija]

Na primer, če želite kopirati eno datoteko file.txt iz ~/Downloads v imenik oddaljenega sistema ~/Documents, bi bil ukaz naslednji:

$rsync-v~/Prenosi/file1.txt umara@192.168.72.164:~/Dokumenti

Podobno, če želite kopirati imenik ~/Downloads/files v lokalnem sistemu s podimenikom in vso vsebino v imenik ~/Downloads/vzorci v oddaljenem sistemu:

$rsync-rv~/Prenosi/datoteke umra@192.168.72.164:~/Prenosi/vzorci

Datoteke in imenike lahko tudi kopirate z oddaljenega računalnika na lokalni računalnik. Če želite na primer kopirati datoteko file2.txt iz oddaljenega sistema na namizje lokalnega sistema:

$rsync-vumara@192.168.72.164:~/Prenosi/file2.txt ~/Namizni računalnik/

Podobno za kopiranje imenika iz oddaljenega sistema v lokalni sistem

$rsync-rvumara@192.168.72.164:~/Prenosi/vzorec ~/Namizni računalnik/preskus

Med kopiranjem datotek v/iz oddaljenega sistema lahko uporabite tudi vse možnosti, kot so –max-size, –min-size, –exclude in druge.

Rsync je odlično orodje za kopiranje datotek od vira do cilja lokalno ali na daljavo. Vključuje velik nabor možnosti, ki vam omogočajo prilagodljivost in nadzor med prenosom datotek v/iz oddaljenega sistema.