V tomto článku vysvetlíme, ako používať rsync na kopírovanie súborov, pomocou niekoľkých praktických príkladov. Vysvetlíme tiež použitie rsync pri kopírovaní jedného súboru, viacerých súborov a adresára do miestnych aj vzdialených systémov. Budeme sa zaoberať tým, ako používať Rsync na:
- 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 systéme Ubuntu 20.04 LTS. Na kopírovanie súborov pomocou rsync budete potrebovať terminál príkazového riadku. Na otvorenie aplikácie Terminál z príkazového riadku použite klávesovú skratku Ctrl + Alt + T.
Inštaluje sa Rsync
Rsync je predinštalovaný v Ubuntu 20.04 LTS. Ak je však náhodou odstránený zo systému, môžete ho nainštalovať nasledovne:
$ sudo apt nainštalovať rsyncTu uvádzame niektoré z bežne používaných možností, ktoré možno použiť s rsync:
-a: režim archívu
-v: zobrazuje podrobnosti procesu kopírovania
-p: zobrazuje indikátor priebehu
-r: kopíruje údaje rekurzívne
-z: komprimuje údaje
-q: potlačiť výstup
Kopírujte súbory a adresáre lokálne
Všeobecná syntax rsync je:
$ rsync [možnosť] [zdroj] [cieľ]Skopírujte lokálne jeden súbor
Ak chcete skopírovať súbor z jedného miesta na druhé vo vašom systéme, môžete to urobiť zadaním rsync nasleduje názov zdrojového súboru a cieľový adresár.
Napríklad na kopírovanie jedného súboru „file1.txt “z aktuálneho umiestnenia, ktoré je domovským adresárom, do adresára ~ / Documents, bude príkaz:
$ rsync / home / tin / file1.txt / home / tin / Documents
Poznámka: Namiesto „/ home / tin / file1.txt “, môžeme tiež napísať„ file1 “, pretože práve pracujeme v domovskom adresári. Môžeme tiež použiť ~ / Documents namiesto toho, aby sme celú cestu spomenuli ako „/ home / tin / Documents“.
Kopírujte viac súborov lokálne
Ak chcete v systéme skopírovať viac súborov naraz z jedného miesta na druhé, môžete tak urobiť zadaním rsync nasleduje názov zdrojového súboru a cieľový adresár.
Napríklad na kopírovanie súborov „file2.txt “a„ súbor3.txt ”z domovského adresára do adresára ~ / Documents, príkaz by bol:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documents
Ak chcete skopírovať všetky súbory s rovnakou príponou, môžete namiesto samostatného zadávania názvov súborov použiť symbol hviezdičky (*). Napríklad skopírovať všetky súbory z domovského adresára končiace „.zip “do adresára ~ / Documents, použijeme:
$ rsync / home / tin / *.zip ~ / DokumentyKopírujte adresáre lokálne
Ak chcete skopírovať adresár s podadresárom a celým obsahom z jedného miesta na druhé vo vašom systéme, môžete tak urobiť zadaním rsync nasledovaný zdrojovým a cieľovým adresárom.
Napríklad na kopírovanie adresára „sample“ do adresára „test /“ v domovskom adresári bude príkaz:
$ rsync -av / home / tin / sample / home / tin / testPoznámka: Zadaním „/“ po zdrojovom adresári sa skopíruje iba obsah adresára. Ak za zdrojovým adresárom nezadáme „/“, zdrojový adresár sa tiež skopíruje do cieľového adresára.
Rovnako ako v nasledujúcom výstupe môžete vidieť, že náš zdrojový adresár „sample“ sa skopíruje aj do cieľového adresára (pretože ako zdrojový adresár sme použili „sample“ namiesto „sample /“).
Rsync podporuje inkrementálny prenos, ako vidíte na výstupe vyššie, že prenáša iba súbory, ktoré sú nové alebo aktualizované.
Kopírujte súbory na základe maximálnej veľkosti
Pri kopírovaní môžeme určiť aj maximálnu veľkosť súborov, ktoré je možné kopírovať pomocou možnosti „-max-size“. Napríklad na kopírovanie súborov nie väčších ako 2 000 kB z adresára ~ / Downloads do ~ / Documents bude príkaz:
$ rsync -a --max-size = 2000k / home / tin / na stiahnutie / * / home / tin / dokumentyTento príkaz skopíruje všetky súbory z adresára ~ / Downloads do ~ / Documents okrem tých, ktoré sú väčšie ako 2 000 kB.
Kopírujte súbory na základe minimálnej veľkosti
Podobne môžeme určiť aj minimálnu veľkosť súborov, ktoré je možné kopírovať pomocou možnosti „-min-size“. Napríklad na kopírovanie súborov nie menej ako 5 M z adresára ~ / Downloads do ~ / Documents bude príkaz:
$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / DocumentsTento príkaz skopíruje všetky súbory z priečinka ~ / Downloads do adresára ~ / Documents okrem tých, ktoré sú menšie ako 5M.
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 „- vylúčiť“, za ktorou nasleduje názov súboru alebo prípona typu súboru.
Napríklad vylúčiť všetky .skomprimovať súbory pri kopírovaní súborov z priečinka ~ / Downloads do ~ / Documents, príkaz bude:
$ rsync -a --exclude = "*.zip "/ home / plechovka / Súbory na stiahnutie / / home / plechovka / DokumentyKopírujte súbory a adresáre na diaľku
Pomocou programu Rsync môžete kopírovať jeden súbor, viac súborov a adresárov do vzdialeného systému. Na vzdialené kopírovanie súborov a adresárov budete potrebovať:
- Rsync nainštalovaný na lokálnom aj vzdialenom systéme
- SSH prístup 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 cez SSH:
$ ssh remote_user @ remote_ip
Všeobecná syntax pre kopírovanie súborov a adresárov do vzdialeného systému pomocou nástroja rsync:
Napríklad na kopírovanie jedného súboru „súboru.txt ”z ~ / Downloads do vzdialeného systému ~ / Documents adresár, príkaz by bol:
$ rsync -v ~ / Súbory na stiahnutie / súbor1.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“ na vzdialenom systéme:
$ rsync -rv ~ / Súbory na stiahnutie / súbory umara @ 192.168.72.164: ~ / Súbory na stiahnutie / ukážky
Môžete tiež skopírovať súbory a adresáre zo vzdialeného počítača do miestneho počítača. Napríklad na kopírovanie „súboru2.txt ”zo vzdialeného systému na plochu lokálneho systému:
$ rsync -v umara @ 192.168.72.164: ~ / Na stiahnutie / súbor2.txt ~ / Desktop /
Podobne skopírujte adresár zo vzdialeného systému do lokálneho systému
$ rsync -rv umara @ 192.168.72.164: ~ / Na stiahnutie / ukážka ~ / Desktop / testPri kopírovaní súborov do / zo vzdialeného systému môžete tiež použiť všetky možnosti ako -max-size, -min-size, -exclude a ďalšie.
Rsync je vynikajúci nástroj na kopírovanie súborov zo zdroja do cieľového miesta, či už lokálne, alebo vzdialene. Zahŕňa veľkú sadu možností, ktoré vám poskytujú flexibilitu a kontrolu pri prenose súborov do / zo vzdialeného systému.