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 tako v lokalne kot v oddaljene sisteme. Pokrivali 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 za Ubuntu 20.04 LTS. Za kopiranje datotek z uporabo rsync potrebujete terminal ukazne vrstice. Če želite odpreti aplikacijo Terminal ukazne vrstice, uporabite bližnjično tipko Ctrl + Alt + T.
Nameščanje Rsync
Rsync je vnaprej nameščen v Ubuntu 20.04 LTS. Če pa je pomotoma odstranjen iz sistema, ga lahko namestite na naslednji način:
$ sudo apt namestite rsyncTu je nekaj najpogosteje uporabljenih možnosti, ki jih je mogoče uporabiti z rsync:
-a: način arhiviranja
-v: prikazuje podrobnosti o postopku kopiranja
-p: prikazuje vrstico napredovanja
-r: rekurzivno kopira podatke
-z: stisne podatke
-q: zatreti izhod
Kopirajte datoteke in imenike lokalno
Splošna sintaksa rsync je:
$ rsync [možnost] [vir] [cilj]Kopirajte eno datoteko lokalno
Če želite kopirati datoteko z enega mesta na drugo znotraj vašega sistema, lahko to storite s tipkanjem rsync čemur sledi ime izvorne datoteke in ciljni imenik.
Če želite na primer kopirati eno datoteko “file1.txt "s trenutne lokacije, ki je domači imenik, v imenik ~ / Documents, bi bil ukaz:
$ rsync / home / tin / file1.txt / home / tin / Documents
Opomba: Namesto “/ home / tin / file1.txt «, lahko vtipkamo tudi» datoteka1 «, saj trenutno delamo v domačem imeniku. Prav tako lahko uporabimo ~ / Documents, namesto da omenimo celotno pot kot “/ home / tin / Documents”.
Kopiraj več datotek lokalno
Če želite kopirati več datotek hkrati z enega mesta na drugega znotraj sistema, lahko to storite s tipkanjem rsync čemur sledi ime izvorne datoteke in ciljni imenik.
Če želite na primer kopirati datoteke “file2.txt "in" datoteka3.txt "iz domačega imenika v imenik ~ / Documents, bi bil ukaz:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documents
Če želite kopirati vse datoteke z enako pripono, lahko namesto posameznih določitev imen datotek uporabite zvezdico (*). Če želite na primer kopirati vse datoteke iz domačega imenika, ki se konča z “.zip ”v imenik ~ / Documents, bomo uporabili:
$ rsync / home / tin / *.zip ~ / DokumentiKopirajte imenike lokalno
Če želite kopirati imenik z njegovim podimenikom in vso vsebino z enega mesta na drugo v vašem sistemu, lahko to storite tako, da vnesete rsync čemur sledi izvorni in ciljni imenik.
Če želite na primer kopirati imenik »sample« v imenik »test /« v domačem imeniku, bi bil ukaz:
$ rsync -av / home / kositer / vzorec / dom / kositer / testOpomba: Navedba “/” za izvornim imenikom kopira samo vsebino imenika. Če za izvornim imenikom ne določimo znaka “/”, bo tudi izvorni imenik kopiran v ciljni imenik.
Tako kot v naslednjem izhodu lahko vidite, da je tudi naš izvorni imenik "sample" kopiran v ciljni imenik (saj smo kot izvorni imenik uporabili "sample" namesto "sample /").
Rsync podpira inkrementalni prenos, kot lahko vidite v zgornjem izhodu, da prenaša samo datoteke, ki so nove ali posodobljene.
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”. Če želite na primer kopirati datoteke, ki niso večje od 2000k, iz ~ / Downloads v imenik ~ / Documents, bi bil ukaz:
$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / DocumentsTa 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”. Če želite na primer kopirati datoteke, ki niso manjše od 5M, iz ~ / Downloads v imenik ~ / Documents, bi bil ukaz:
$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / DocumentsTa ukaz bo kopiral vse datoteke iz ~ / Downloads v imenik ~ / Documents, razen tistih, manjših 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 pripona vrste datoteke.
Na primer, da izključite vse datoteke .zip med kopiranjem datotek iz ~ / Downloads v ~ / Documents directory, bi bil ukaz:
$ rsync -a --exclude = "*.zip "/ home / tin / Downloads / / home / tin / DocumentsKopirajte datoteke in imenike na daljavo
Z Rsync lahko kopirate eno datoteko, več datotek in imenike v oddaljeni sistem. Za oddaljeno kopiranje datotek in imenikov boste potrebovali:
- Rsync je nameščen tako v lokalnem kot v oddaljenem sistemu
- SSH dostop do oddaljenega sistema
- Geslo oddaljenega uporabnika
Pred kopiranjem datotek z uporabo rsync preverite, ali imate dostop do oddaljenega sistema prek SSH:
$ ssh remote_user @ remote_ip
Splošna sintaksa za kopiranje datotek in imenikov v oddaljeni sistem z uporabo rsync:
Na primer, da kopirate eno datoteko.txt ”iz ~ / Downloads v oddaljeni sistem ~ / Documents directory, bi bil ukaz:
$ rsync -v ~ / Downloads / file1.txt umara @ 192.168.72.164: ~ / Dokumenti
Če želite kopirati imenik “~ / Downloads / files” v lokalni sistem z njegovim podimenikom in vso vsebino v imenik “~ / Downloads / sample” na oddaljenem sistemu:
$ rsync -rv ~ / Downloads / files umara @ 192.168.72.164: ~ / Prenosi / vzorci
Datoteke in imenike lahko tudi kopirate z oddaljene naprave na vaš lokalni računalnik. Če želite na primer kopirati datoteko „file2.txt "iz oddaljenega sistema na namizje lokalnega sistema:
$ rsync -v umara @ 192.168.72.164: ~ / Prenosi / datoteka2.txt ~ / namizje /
Podobno tudi za kopiranje imenika iz oddaljenega sistema v lokalni sistem
$ rsync -rv umara @ 192.168.72.164: ~ / Downloads / sample ~ / Desktop / testMed 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 širok nabor možnosti, ki vam omogočajo prilagodljivost in nadzor med prenosom datotek v / iz oddaljenega sistema.