Príkaz Rsync (vzdialená synchronizácia) je obslužný program Linux / Unix, ktorý sa používa na synchronizáciu a kopírovanie súborov a adresárov lokálne alebo vzdialene. Väčšina Linuxových geekov používa Rsync na zrkadlenie, zálohovanie alebo migráciu dát cez priečinky, disky a siete. Jednou pozoruhodnou vlastnosťou príkazu Rsync je, že používa „algoritmus delta transferu“.“
Algoritmus Delta Transfer funguje tak, že sa aktualizuje cieľový adresár o obsah cieľového zdroja. Ak sa v zdrojovom adresári vytvorí zmena alebo nový súbor, pri spustení príkazu Rsync sa do cieľového adresára skopíruje iba konkrétna zmena. Na synchronizáciu súborov a adresárov medzi lokálnym a vzdialeným počítačom používa Rsync SSH.
Inštalácia Rsync v Linuxe
Príkaz Rsync je predinštalovaný vo väčšine operačných systémov Linux. To však nemusí platiť pre niektoré minimálne inštalácie. Rsync môžete nainštalovať spustením nasledujúcich príkazov v termináli.
Na CentOS a RHEL
yum nainštalovať rsync -y
Na Ubuntu a iných distribúciách Debianu
sudo apt nainštalovať rsync -y
Rsync Základná syntax
Možnosti zdroja rsync
Niektoré zo štandardných možností / parametrov použitých s príkazom Rsync:
-v: -verbose Podrobný výstup
-r: kopíruje údaje rekurzívne
-z: komprimovať údaje súboru
-h: Poskytuje výstup vo formáte čitateľnom pre človeka
-a: archivovať súbory a adresár pri synchronizácii
-progress Zobrazuje priebeh aktuálne prebiehajúcich úloh Rsync.
Všetky možnosti dostupné pre príkaz Rsync môžete zobraziť pomocou možnosti “-help”.
$ rsync - pomoc
Top 20 príkladov Rsync v Linuxe
Ak vezmeme do úvahy tieto podrobné informácie, začnime s 20 užitočnými príkladmi príkazov Rsync, ktoré môžete použiť v systémoch Linux. Náš vybraný operačný systém je Ubuntu 20.04 LTS; syntax by však mala fungovať aj pre iné distribúcie Linuxu s nainštalovaným programom Rsync.
1. Kopírujte / synchronizujte súbory lokálne s možnosťou -v (podrobné)
Toto je najzákladnejší príkaz Rsync, a to aj pre nováčika. V tomto príklade budeme kopírovať súbory medzi znakom „Originál„adresár na ploche do“Zálohovanieadresár v priečinku „/ etc.priečinok. Zahrnieme voľbu -v (Verbose), aby rsync mohol poskytnúť informácie o tom, čo sa deje.
rsync -v Originál /
S Rsync je potrebné poznamenať, že ak cieľový adresár neexistuje, automaticky ho vytvorí. Pozrime sa na príklad nižšie, kde chceme kopírovať súbory do adresára „Foss”To neexistuje.
2. Synchronizujte / kopírujte súbory a adresáre rekurzívne s voľbou -r
Vo vyššie uvedenom príkaze, ak by sa v priečinku „nachádzal adresár“Originálpriečinok, bol by preskočený. To je znázornené na obrázku nižšie.
Ak to chcete prekonať, použite voľbu -r (rekurzívna).
3. Synchronizácia / kopírovanie súborov medzi lokálnym a vzdialeným zariadením
Pred vykonaním tejto úlohy existuje niekoľko parametrov, ktoré musíte o vzdialenom serveri / stroji vedieť: IP adresa, používateľské meno a heslo používateľa.
Základná syntax, ktorú použijeme, je:
rsync [možnosti] [súbory] [vzdialené používateľské meno] @ [adresa IP]: / [cieľ]
Skopírujme súbory z nášhoOriginál„adresár na pracovnej ploche na vzdialený server.
4. Synchronizujte / kopírujte súbory a adresáre zo vzdialeného servera do miestneho počítača
Rovnako ako predchádzajúci príkaz budeme musieť poznať adresu IP vzdialeného servera. V tomto príklade budeme synchronizovať súbory vZálohovaniepriečinok v domovskom adresári servera na náš lokálny počítač.
rsync -rv sa prihlási @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original
5. Použite Rsync cez SSH s voľbou -e
Na zaistenie bezpečnosti súborov a priečinkov použijeme protokol Rsync over Secure Shell Protocol (SSH). Pri poskytovaní hesla root / používateľa navyše - SSH poskytne šifrovacie služby a zaistí ich bezpečnosť.
Pre použitie SSH pridáme voľbu -e, ktorá určuje protokol, ktorý chceme použiť.
rsync -vre ssh Originál / * tutoriály @ 192.168.1.64: / home / tuts
6. Ukážte priebeh príkazom Rsync
V situáciách, keď kopírujete viac súborov alebo obrovský súbor, bude pokrok vedieť efektívny. Našťastie má rsync túto možnosť - „-pokrok„možnosť.
sudo rsync -rv --program Originál / * / etc / Foss
7. Použite Rsync s možnosťou '-include'
Existujú situácie, kedy chcete synchronizovať iba konkrétne súbory. Príkazom Rsync spôsobíte '-zahrnúť„možnosť vykonať úlohu. V tomto príklade budeme synchronizovať iba súbory začínajúce sa písmenom „I“.
sudo rsync -vr - zahrnúť 'I *' Originál / / etc / Backup /
8. Použite Rsync s voľbou '-exclude' na ignorovanie konkrétnych súborov
S Rsync '-vylúčiť'môžete vylúčiť súbory, ktoré nechcete synchronizovať / kopírovať. V tomto príklade chceme ignorovať všetky súbory začínajúce sa písmenom „I“.
sudo rsync -vr --exclude 'I *' Original / / etc / Backup /
Prípadne môžete použiť obe možnosti v jednom príkaze. Pozri príklad nižšie.
sudo rsync -vr --exclude '*' --include 'I *' Original / / etc / Backup /
Vylučujeme všetky súbory okrem tých, ktoré sa začínajú písmenom „I.„
9. Použite Rsync s príkazom -delete
Existujú situácie, keď sú v cieľovom adresári súbory, ale nie v zdrojovom priečinku. Pre synchronizáciu by bolo najlepšie najskôr tieto súbory odstrániť z cieľového adresára. Našťastie Rsync prichádza s-vymazať', ktorá to robí automaticky.
Ak je súbor v cieľovom adresári, ale nie v zdroji, vymaže ho.
rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup
10. Nastavte maximálnu veľkosť súborov na prenos pomocou nástroja Rsync
Ak máte záujem o úložný priestor alebo šírku pásma pre vzdialenú synchronizáciu súborov, musíte pomocou príkazu Rsync použiť voľbu „-max-size“. Táto možnosť vám umožňuje nastaviť maximálnu veľkosť súboru, ktorý je možné kopírovať.
Napríklad „-max-size = 100k„prenesie iba údaje s veľkosťou do 100 kB.
rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Backup
11. Po úspešnom prenose automaticky odstráňte zdrojové súbory
Vezmite si situáciu, že vo svojom počítači máte vzdialený server na zálohovanie a adresár na zálohovanie. Pred synchronizáciou so zálohovacím serverom zálohujete údaje do záložného priečinka v počítači. Po každej synchronizácii budete musieť vymazať údaje v záložnom adresári.
Našťastie to môžete urobiť automaticky pomocou '--remove-source-files„možnosť.
Spustením príkazu „ls“ v zdrojovom priečinku potvrdzujeme, že súbory boli skutočne odstránené.
12. Vykonajte beh na sucho s Rsync
Pre nováčikov, ktorí si nie sú istí príkazom Rsync, môžete obsah cieľového adresára pokaziť a vrátenie môže byť rovnako namáhavé. S '-nasucho', príkaz Rsync vám dá výstup o tom, čo sa bude vykonávať, ale neurobí to.
Preto sa môžete pozrieť na tento výstup, ak je to, čo očakávate, skôr ako o odstránite znak „-nasucho„možnosť.
rsync -vr --dry-run Original / * tutoriály @ 192.168.1.64: / home / tuts / Backup
13. Na prenos súborov nastavte požadovaný limit šírky pásma.
Ak ste v zdieľanej sieti alebo prevádzkujete niekoľko programov, ktoré potrebujú pripojenie na internet, bolo by efektívne nastaviť požadovaný limit šírky pásma na vzdialenú synchronizáciu / kopírovanie súborov. Môžeme to urobiť pomocou Rsync '-bwlimit„možnosť.
Táto rýchlosť sa počíta v kilobajtoch. Preto, keď-bwlimit = 1 000„znamená, že je možné preniesť iba 1 000 kB za sekundu.
rsync -vr --bwlimit = 1000 originálnych / * úloh @ 192.168.1.64: / home / tuts / Backup
14. Synchronizujte celé súbory s Rsync
V predvolenom nastavení synchronizuje program Rsync iba upravené bloky a bajty. Preto, ak ste predtým synchronizovali textový súbor a neskôr ste pri synchronizácii pridali niektoré texty do zdrojového súboru, skopíruje sa iba vložený text. Ak chcete znova synchronizovať celý súbor, budete musieť použiť voľbu „-W“.
rsync -vrW Original / * tutoriály @ 192.168.1.64: / home / tuts / Backup
15. Nesynchronizujte a nekopírujte upravené súbory v cieľovom adresári
Existujú situácie, keď ste vykonali úpravy súborov nachádzajúcich sa v cieľovom priečinku. Ak spustíte príkaz Rsync, tieto úpravy sa prepíšu zmenami v zdrojovom súbore. Ak sa tomu chcete vyhnúť, použite voľbu '-u'.
rsync -vu Original / * tutoriály @ 192.168.1.64: / home / tuts / Backup
16. Použite Rsync s voľbou -i na zobrazenie rozdielu v súboroch medzi zdrojom a cieľom
Ak chcete vedieť, aké nové zmeny sa urobia v cieľovom adresári, použite voľbu '-i', ktorá zobrazí rozdiel v súboroch medzi zdrojovým a cieľovým adresárom.
rsync -avzi Original / Backup /
Vytvorte výstup na obrázku vyššie a uvidíme súbor s názvom „ahoj.py ' nie je v cieľovom adresári. Pozrime sa na niektoré z týchto parametrov.
d: zobrazuje zmenu v cieľovom súbore
f: predstavuje súbor
t: zobrazuje zmenu časových značiek
s: označuje zmenu veľkosti súboru
17. Pomocou programu Rsync môžete kopírovať iba štruktúru adresárov
Ak nemáte záujem o súbory, môžete program Rsync použiť na synchronizáciu iba adresárovej štruktúry. Pred zdrojovým adresárom budeme musieť použiť parametre -f ”+ * /” -f ”- *”.
rsync -av -f "+ * /" -f "- *" / home / tuts / Desktop / Original / / home / tuts / Documents /
18. Pridajte dátumovú pečiatku do názvu adresára
Ak chcete sledovať, kedy došlo k prenosom bez otvorenia vlastností adresára, môžete k názvu adresára ľahko pridať dátum. To pridá dátumovú pečiatku ku všetkým synchronizáciám vykonaným s Rsync.
K tomu pripojíme $ (dátum + \\% Y - \\% m - \\% d) do cieľového adresára.
sudo rsync -rv Originál / / etc / $ (dátum + \\% Y - \\% m - \\% d)
19. Skopírujte lokálne jeden súbor
Ak chcete synchronizovať / kopírovať jeden súbor s programom Rsync, budete musieť určiť cestu k súboru, za ktorou bude nasledovať cesta k cieľovému adresáru.
rsync -v Originál / heloo.py Zálohovanie /
20. Kopírovanie viacerých súborov na diaľku
Ak chcete kopírovať viac súborov súčasne, musíte poskytnúť cestu ku všetkým. Táto metóda je účinná iba pre malý počet súborov.
rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.html tutoriály @ 192.168.1.64: / home / tuts / Backup
To je všetko o 20 najlepších užitočných príkladoch Rsync, ktoré vám umožnia synchronizovať súbory a adresáre lokálne aj vzdialene. Svoje pripomienky a komentáre môžete zanechať nižšie.