Ukaz Rsync (oddaljena sinhronizacija) je pripomoček Linux / Unix, ki se uporablja za lokalno ali oddaljeno sinhronizacijo in kopiranje datotek in imenikov. Večina giksov Linux uporablja Rsync za zrcaljenje, varnostno kopiranje ali selitev podatkov med mapami, diski in omrežji. Pomembna lastnost ukaza Rsync je, da uporablja algoritem za delta prenos."
Delta Transfer algoritem deluje tako, da ciljni imenik posodobi z vsebino izvornega cilja. Če je v izvornem imeniku ustvarjena sprememba ali nova datoteka, bo med izvajanjem ukaza Rsync v ciljni imenik kopirana le določena sprememba. Za sinhronizacijo datotek in imenikov med lokalnim in oddaljenim računalnikom Rsync uporablja SSH.
Namestitev Rsync v Linux
Ukaz Rsync je vnaprej nameščen v večini operacijskih sistemov Linux. Vendar to morda ne velja za nekatere minimalne namestitve. Rsync lahko namestite tako, da v terminalu zaženete spodnje ukaze.
Na CentOS & RHEL
yum namestite rsync -y
V Ubuntuju in drugih distribucijah Debiana
sudo apt namestite rsync -y
Rsync Basic sintaksa
rsync možnosti izvorni cilj
Nekatere standardne možnosti / parametri, ki se uporabljajo z ukazom Rsync:
-v: -verbose Podroben izhod
-r: rekurzivno kopira podatke
-z: stisni podatke o datoteki
-h: daje izhod v človeško berljivi obliki
-a: arhiviranje datotek in imenika med sinhronizacijo
-progress Prikazuje napredek trenutno izvajanih nalog Rsync.
Vse možnosti, ki so na voljo za ukaz Rsync, si lahko ogledate z možnostjo “-help”.
$ rsync --help
20 najboljših primerov Rsync v Linuxu
S temi podrobnimi informacijami v mislih začnimo z 20 koristnimi primeri ukazov Rsync, ki jih lahko uporabljate v sistemih Linux. Naš izbrani operacijski sistem je Ubuntu 20.04 LTS; vendar bi morala sintaksa delovati tudi za druge distribucije Linuxa z nameščenim Rsync.
1. Kopiraj / sinhroniziraj datoteke lokalno z možnostjo -v (podrobno)
To je najosnovnejši ukaz Rsync, tudi za novince. V tem primeru bomo kopirali datoteke medIzvirnik'imenik na namizju do'Rezerva'imenik v' / etc.mapa. Vključili bomo možnost -v (Podrobno), da bo rsync lahko posredoval informacije o dogajanju.
rsync -v izvirnik /
Pri Rsync je treba opozoriti na to, da če ciljni imenik ne obstaja, ga bo samodejno ustvaril. Oglejmo si spodnji primer, kjer želimo kopirati datoteke v imenik “Foss”, Ki ne obstaja.
2. Rekurzivno sinhronizirajte / kopirajte datoteke in imenike z možnostjo -r
V zgornjem ukazu, če je bil v ''Izvirnik'map, bi bilo preskočeno. To je prikazano na spodnji sliki.
Če želite to premagati, uporabite možnost -r (rekurzivno).
3. Sinhronizirajte / kopirajte datoteke med lokalno in oddaljeno napravo
Pred izvajanjem te naloge morate vedeti več parametrov o oddaljenem strežniku / računalniku: naslov IP, uporabniško ime in uporabniško geslo.
Osnovna sintaksa, ki jo bomo uporabili, je:
rsync [možnosti] [datoteke] [uporabniško ime na daljavo] @ [naslov ip]: / [cilj]
Kopirajmo datoteke iz naše 'Izvirnik'na namizju do oddaljenega strežnika.
4. Sinhronizirajte / kopirajte datoteke in imenike z oddaljenega strežnika v lokalni računalnik
Tako kot prejšnji ukaz bomo morali poznati tudi naslov IP oddaljenega strežnika. V tem primeru bomo sinhronizirali datoteke v 'Rezervav domačem imeniku strežnika do našega lokalnega računalnika.
rsync -rv tuts @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original
5. Uporabite Rsync over SSH z možnostjo -e
Za zagotovitev varnosti datotek in map bomo uporabili protokol Rsync over Secure Shell (SSH). Poleg tega bo SSH pri zagotavljanju korenskega / uporabniškega gesla zagotavljal storitve šifriranja in zagotavljal njihovo varnost.
Za uporabo SSH bomo dodali možnost -e, ki določa protokol, ki ga želimo uporabiti.
rsync -vre ssh Original / * tuts @ 192.168.1.64: / domov / tuts
6. Pokažite napredek z ukazom Rsync
V primerih, ko kopirate več datotek ali ogromno datoteko, bi vedeli, da bi bil napredek učinkovit. Na srečo ima rsync to možnost --napredekmožnost.
sudo rsync -rv --progress Original / * / etc / Foss
7. Uporabite Rsync z možnostjo '-include'
V nekaterih primerih želite sinhronizirati samo določene datoteke. Z ukazom Rsync povzročite-vključujejo'možnost za izvedbo naloge. V tem primeru bomo sinhronizirali samo datoteke, ki se začnejo s črko 'I'.
sudo rsync -vr - vključi 'I *' Original / / etc / Backup /
8. Za prezrtje določenih datotek uporabite možnost Rsync z možnostjo -exclude
Z Rsync '-izključi', lahko izključite datoteke, ki jih ne želite sinhronizirati / kopirati. V tem primeru želimo prezreti vse datoteke, ki se začnejo s črko 'I'.
sudo rsync -vr --exclude 'I *' Original / / etc / Backup /
Lahko pa uporabite obe možnosti v enem ukazu. Glej spodnji primer.
sudo rsync -vr --exclude '*' --include 'I *' Original / / etc / Backup /
Izključujemo vse datoteke, razen tistih, ki se začnejo s črko "I."
9. Uporabite Rsync z ukazom -delete
V nekaterih primerih so datoteke v ciljnem imeniku, ne pa tudi v izvorni mapi. Za sinhronizacijo bi bilo najbolje, da take datoteke najprej odstranite iz ciljnega imenika. Na srečo Rsync prihaja z-izbriši', ki to naredi samodejno.
Če je datoteka prisotna v ciljnem imeniku, v viru pa je ni, jo bo izbrisala.
rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
10. Z Rsync nastavite največjo velikost datotek za prenos
Če vas skrbi prostor za shranjevanje ali pasovna širina za oddaljeno sinhronizacijo datotek, morate z ukazom Rsync uporabiti možnost '-max-size'. Ta možnost vam omogoča, da nastavite največjo velikost datoteke, ki jo je mogoče kopirati.
Na primer, '-največja velikost = 100k'bo prenašal samo podatke, ki so enaki ali manjši od 100 kilobajtov.
rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
11. Po uspešnem prenosu samodejno izbrišite izvorne datoteke
V primeru, da imate v računalniku oddaljeni varnostni strežnik in varnostni imenik. Podatke varnostno kopirate v mapo za varnostno kopijo v računalniku, preden jih sinhronizirate s strežnikom za varnostno kopiranje. Po vsaki sinhronizaciji boste morali izbrisati podatke v imeniku varnostnih kopij.
Na srečo lahko to storite samodejno z--remove-source-filesmožnost.
Z zagonom ukaza 'ls' v izvorni mapi potrdimo, da so bile datoteke resnično izbrisane.
12. Z Rsync izvedite suh tek
Za začetnike, ki z ukazom Rsync niso prepričani, lahko zmešate vsebino ciljnega imenika, razveljavitev pa je lahko tako dolgočasno. Z-suhi tek'ukaz Rsync vam bo dal rezultat, kaj bo izvedeno, vendar tega ne bo storil.
Zato si lahko ta izhod ogledate, če je tisto, kar pričakujete, preden začnete o odstraniti '-suhi tekmožnost.
rsync -vr --dry-run Original / * tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
13. Nastavite omejitev pasovne širine za prenos datotek.
Če uporabljate omrežje v skupni rabi ali uporabljate več programov, ki potrebujejo internetno povezavo, bi bilo učinkovito določiti omejitev pasovne širine za oddaljeno sinhronizacijo / kopiranje datotek. To lahko storimo z Rsync '-bwlimitmožnost.
Ta stopnja se izračuna v kilobajtih. Torej, ko "-bwlimit = 1000'pomeni, da je na sekundo mogoče prenesti le 1000Kb.
rsync -vr --bwlimit = 1000 Original / * tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
14. Sinhronizirajte celotne datoteke z Rsync
Privzeto Rsync sinhronizira samo spremenjene bloke in bajte. Torej, če ste besedilno datoteko sinhronizirali že prej in ste pozneje med sinhronizacijo dodali nekaj besedil v izvorno datoteko, bo kopirano samo vstavljeno besedilo. Če želite znova sinhronizirati celotno datoteko, boste morali uporabiti možnost '-W'.
rsync -vrW Original / * tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
15. Ne sinhronizirajte / kopirajte spremenjenih datotek v ciljnem imeniku
V nekaterih primerih ste spremenili datoteke, ki so v ciljni mapi. Če zaženete ukaz Rsync, bodo spremembe v izvorni datoteki prepisane. Da bi se temu izognili, uporabite možnost '-u'.
rsync -vu Original / * tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
16. Z možnostjo Rsync z -i si oglejte razliko v datotekah med izvorom in ciljem
Če želite vedeti, kakšne nove spremembe bodo izvedene v ciljnem imeniku, uporabite možnost '-i', ki bo prikazala razliko v datotekah med izvornim in ciljnim imenikom.
rsync -avzi Original / Varnostno kopiranje /
Oblikujte izhod na zgornji sliki in videli bomo datoteko z imenom 'zdravo.py ' ni v ciljnem imeniku. Oglejmo si nekaj teh parametrov.
d: prikazuje spremembo v ciljni datoteki
f: predstavlja datoteko
t: prikazuje spremembo časovnih žigov
s: označuje spremembo velikosti datoteke
17. Za kopiranje strukture imenika uporabite Rsync
Rsync lahko uporabite za sinhronizacijo samo strukture imenika, če vas datoteke ne zanimajo. Pred izvornim imenikom bomo morali uporabiti parametre -f ”+ * /” -f ”- *”.
rsync -av -f "+ * /" -f "- *" / home / tuts / Desktop / Original / / home / tuts / Documents /
18. Dodajte datumski žig v imeniško ime
Če želite slediti, kdaj so potekali prenosi, ne da bi pri tem odprli lastnosti imenika, lahko imenu imena enostavno dodate datum. To bo dodalo datumski žig vsem sinhronizacijam, ki jih opravite z Rsync.
Za to bomo dodali $ (datum + \\% Y - \\% m - \\% d) v ciljni imenik.
sudo rsync -rv Original / / etc / $ (datum + \\% Y - \\% m - \\% d)
19. Kopirajte eno datoteko lokalno
Če želite sinhronizirati / kopirati eno datoteko z Rsync, morate določiti pot do datoteke, ki ji sledi pot do ciljnega imenika.
rsync -v Original / heloo.py varnostno kopiranje /
20. Kopiranje več datotek na daljavo
Če želite hkrati kopirati več datotek, boste morali navesti pot do vseh. Ta metoda je učinkovita le za majhno število datotek.
rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.html tuts @ 192.168.1.64: / home / tuts / Varnostno kopiranje
To je vse o prvih 20 uporabnih primerih Rsync, ki vam bodo omogočili lokalno in oddaljeno sinhronizacijo datotek in imenikov. Pustite svoje povratne informacije in komentarje spodaj.