Ako používať rsync na kopírovanie súborov

How Use Rsync Copy Files



Rsync je nástroj príkazového riadka v systéme Linux, ktorý sa používa na kopírovanie súborov zo zdrojového umiestnenia do cieľového umiestnenia. Môžete kopírovať súbory, adresáre a celý súborový systém a synchronizovať súbory medzi rôznymi adresármi. Nie je to len kopírovanie súborov. Znižuje množstvo údajov odosielaných po sieti odosielaním iba nových alebo aktualizovaných súborov. Preto je považovaný za vynikajúci nástroj na kopírovanie a zálohovanie súborov. Rsync tiež podporuje kopírovanie súborov do vzdialeného systému cez SSH.

V tomto článku vysvetlíme, ako používať rsync na kopírovanie súborov, na niekoľkých praktických príkladoch. Vysvetlíme tiež použitie rsync pri kopírovaní jedného súboru, viacerých súborov a adresára do lokálnych aj vzdialených systémov. Budeme hovoriť o tom, ako používať Rsync:







  • Skopírujte súbor/adresár v lokálnom systéme
  • Skopírujte súbor/adresár z lokálneho do vzdialeného systému
  • Skopírujte súbor/adresár zo vzdialeného systému do lokálneho

Vysvetlili sme príkazy a postup uvedené v tomto článku na Ubuntu 20.04 LTS. Na kopírovanie súborov pomocou rsync budete potrebovať príkazový riadok Terminál. Ak chcete otvoriť aplikáciu Terminal z príkazového riadka, použite klávesovú skratku Ctrl+Alt+T.



Inštalácia Rsync

Rsync je predinštalovaný v Ubuntu 20.04 LTS. Ak je však omylom odstránený zo systému, môžete ho nainštalovať nasledovne:



$sudovýstižnýInštaláciarsync

Tu sú niektoré z bežne používaných možností, ktoré je možné použiť s rsync:





–A: režim archívu
–V: zobrazuje podrobnosti o procese kopírovania
–P: zobrazuje indikátor priebehu
–R: rekurzívne kopíruje údaje
–Z: komprimuje údaje
–Q: potlačenie výstupu

Miestne kopírujte súbory a adresáre

Všeobecná syntax rsync je:



$rsync[možnosť] [zdroj] [destinácia]

Skopírujte jeden súbor lokálne

Ak chcete v rámci systému skopírovať súbor z jedného umiestnenia na druhé, môžete to urobiť zadaním rsync nasleduje názov zdrojového súboru a cieľový adresár.

Ak napríklad chcete skopírovať jeden súbor file1.txt z aktuálneho umiestnenia, ktoré je domovským adresárom, do adresára ~/Documents, príkaz by bol:

$rsync/Domov/veriť/súbor1.txt/Domov/veriť/Dokumenty

Poznámka: Namiesto /home/tin/file1.txt môžeme zadať aj file1, pretože práve pracujeme v domovskom adresári. Tiež môžeme použiť ~/Documents namiesto toho, aby sme celú cestu uviedli ako/home/tin/Documents.

Miestne skopírujte viacero súborov

Ak chcete v rámci systému kopírovať viac súborov naraz z jedného umiestnenia na druhé, môžete to urobiť zadaním rsync nasleduje názov zdrojových súborov a cieľový adresár.

Ak napríklad chcete skopírovať súbory file2.txt a file3.txt z domovského adresára do adresára ~/Documents, príkaz by bol:

$rsync/Domov/veriť/file2.txt/Domov/veriť/file3.txt/Domov/veriť/Dokumenty

Ak chcete skopírovať všetky súbory s rovnakou príponou, môžete namiesto jednotlivého zadávania názvov súborov použiť symbol hviezdičky (*). Napríklad na skopírovanie všetkých súborov z domovského adresára končiaceho príponou .zip do adresára ~/Documents použijeme:

$rsync/Domov/veriť/ *.zip ~/Dokumenty

Skopírujte adresáre lokálne

Ak chcete skopírovať adresár s podadresárom a všetkým obsahom z jedného umiestnenia do druhého vo vašom systéme, môžete to urobiť zadaním rsync nasleduje zdrojový a cieľový adresár.

Ak napríklad chcete skopírovať vzorový adresár do testovacieho/ adresára v domovskom adresári, príkaz by bol:

$rsync-z /Domov/veriť/ukážka/Domov/veriť/test

Poznámka: Zadanie / za zdrojový adresár iba skopíruje obsah adresára. Ak neurčíme /za zdrojovým adresárom, zdrojový adresár sa skopíruje aj do cieľového adresára.

Rovnako ako v nasledujúcom výstupe môžete vidieť, že naša ukážka zdrojového adresára sa skopíruje aj do cieľového adresára (pretože namiesto ukážky/ ako zdrojového adresára sme použili ukážku).

Rsync podporuje prírastkový prenos, ako vidíte na vyššie uvedenom výstupe, že prenáša iba súbory, ktoré sú nové alebo aktualizované.

Skopírujte súbory podľa maximálnej veľkosti

Pri kopírovaní môžeme tiež určiť maximálnu veľkosť súborov, ktoré je možné kopírovať, pomocou voľby –max-size. Ak napríklad chcete skopírovať súbory nie väčšie ako 2 000 kB z priečinka ~/Downloads do ~/Documents, príkaz by bol:

$rsync-do --max. veľkosť= 2 000 tis/Domov/veriť/K stiahnutiu/ * /Domov/veriť/Dokumenty

Tento príkaz skopíruje všetky súbory z priečinka ~/Downloads do ~/Documents okrem súborov väčších ako 2 000 kB.

Skopírujte súbory podľa minimálnej veľkosti

Podobne môžeme tiež určiť minimálnu veľkosť súborov, ktoré je možné kopírovať, pomocou voľby –min-size. Ak napríklad chcete skopírovať súbory, ktoré nie sú menšie ako 5 miliónov, z priečinka ~/Downloads do ~/Documents, príkaz by bol:

$rsync-do -min. veľkosť= 5 miliónov/Domov/veriť/K stiahnutiu/ /Domov/veriť/Dokumenty

Tento príkaz skopíruje všetky súbory z priečinka ~/Downloads do adresára ~/Documents okrem súborov menších ako 5 miliónov.

Vylúčiť súbory

Pri kopírovaní súborov z jedného adresára do druhého môžete niektoré súbory vylúčiť pomocou možnosti —exclude, za ktorou nasleduje názov súboru alebo prípona typu súboru.

Ak napríklad chcete pri kopírovaní súborov z priečinka ~/Downloads do ~/Documents vylúčiť všetky súbory .zip, príkaz by bol:

$rsync-do -vylúčiť='*.PSČ' /Domov/veriť/K stiahnutiu/ /Domov/veriť/Dokumenty

Skopírujte súbory a adresáre na diaľku

S Rsync môžete kopírovať jeden súbor, viac súborov a adresárov do vzdialeného systému. Na diaľkové kopírovanie súborov a adresárov budete potrebovať:

  • Rsync je nainštalovaný na lokálnom aj vzdialenom systéme
  • Prístup SSH k vzdialenému systému
  • Heslo vzdialeného používateľa

Pred kopírovaním súborov pomocou rsync sa uistite, že máte prístup k vzdialenému systému prostredníctvom SSH:

$sshremote_user@remote_ip


Všeobecná syntax pre kopírovanie súborov a adresárov do vzdialeného systému pomocou rsync:

$rsync[možnosť] [zdroj] [diaľkový používateľ@remoteip: cieľ]

Napríklad, ak chcete skopírovať jeden súbor file.txt z ~/Downloads do vzdialeného systému ~/Documents, príkaz by bol:

$rsync-v~/K stiahnutiu/file1.txt umara@192.168.72.164:~/Dokumenty

Podobne skopírujte adresár ~/Downloads/files v lokálnom systéme s jeho podadresárom a všetkým obsahom do adresára ~/Downloads/samples vo vzdialenom systéme:

$rsync-rv~/K stiahnutiu/súbory umra@192.168.72.164:~/K stiahnutiu/vzorky

Súbory a adresáre môžete tiež skopírovať zo vzdialeného počítača na lokálne zariadenie. Ak chcete napríklad skopírovať súbor2.txt zo vzdialeného systému na pracovnú plochu lokálneho systému:

$rsync-vumara@192.168.72.164:~/K stiahnutiu/file2.txt ~/Pracovná plocha/

Podobne skopírujte adresár zo vzdialeného systému do lokálneho systému

$rsync-rvumara@192.168.72.164:~/K stiahnutiu/ukážka ~/Pracovná plocha/test

Pri kopírovaní súborov do/zo vzdialeného systému môžete použiť aj všetky možnosti ako –max-veľkosť, –min-veľkosť, –exclude a ďalšie.

Rsync je skvelý nástroj na kopírovanie súborov zo zdroja do cieľa lokálne alebo vzdialene. Obsahuje veľkú sadu možností, ktoré vám poskytnú flexibilitu a kontrolu pri prenose súborov do/zo vzdialeného systému.