V tomto článku vysvětlíme, jak pomocí rsync kopírovat soubory, pomocí několika praktických příkladů. Vysvětlíme také použití rsync při kopírování jednoho souboru, více souborů a adresáře do místních i vzdálených systémů. Budeme se zabývat tím, jak používat Rsync k:
- Zkopírujte soubor / adresář v místním systému
- Zkopírujte soubor / adresář z místního do vzdáleného systému
- Zkopírujte soubor / adresář ze vzdáleného systému do místního
Vysvětlili jsme příkazy a postupy uvedené v tomto článku na Ubuntu 20.04 LTS. Pro kopírování souborů pomocí rsync budete potřebovat terminál příkazového řádku. Chcete-li otevřít aplikaci Terminál z příkazového řádku, použijte klávesovou zkratku Ctrl + Alt + T.
Instalace Rsync
Rsync je předinstalován v Ubuntu 20.04 LTS. Pokud je však omylem odebrán ze systému, můžete jej nainstalovat následujícím způsobem:
$ sudo apt nainstalovat rsyncZde jsou některé z běžně používaných možností, které lze použít s rsync:
-a: režim archivu
-v: zobrazuje podrobnosti procesu kopírování
-p: zobrazuje ukazatel průběhu
-r: kopíruje data rekurzivně
-z: komprimuje data
-q: potlačit výstup
Zkopírujte soubory a adresáře místně
Obecná syntaxe rsync je:
$ rsync [volba] [zdroj] [cíl]Zkopírujte jeden soubor lokálně
Chcete-li zkopírovat soubor z jednoho umístění do druhého ve vašem systému, můžete tak učinit zadáním rsync následuje název zdrojového souboru a cílový adresář.
Například zkopírovat jeden soubor „file1.txt “z aktuálního umístění, které je domovským adresářem, do adresáře ~ / Documents, bude příkaz:
$ rsync / home / tin / file1.txt / home / tin / Documents
Poznámka: Místo „/ home / tin / file1.txt “, můžeme také napsat„ file1 “, protože právě pracujeme v domovském adresáři. Můžeme také použít ~ / Documents místo toho, abychom zmínili úplnou cestu jako „/ home / tin / Documents“.
Zkopírujte více souborů lokálně
Chcete-li v systému zkopírovat více souborů najednou z jednoho místa do druhého, můžete tak učinit zadáním rsync následuje název zdrojových souborů a cílový adresář.
Například pro kopírování souborů „file2.txt “a„ file3.txt ”z domovského adresáře do adresáře ~ / Documents, příkaz by byl:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documents
Chcete-li zkopírovat všechny soubory se stejnou příponou, můžete místo samostatného zadávání názvů souborů použít hvězdičku (*). Například zkopírovat všechny soubory z domovského adresáře končící „.zip “do adresáře ~ / Documents, použijeme:
$ rsync / home / tin / *.zip ~ / DokumentyZkopírujte adresáře místně
Chcete-li zkopírovat adresář s podadresářem a veškerým obsahem z jednoho umístění do druhého ve vašem systému, můžete tak učinit zadáním rsync následuje zdrojový a cílový adresář.
Například pro zkopírování adresáře „sample“ do adresáře „test /“ v domovském adresáři bude příkaz:
$ rsync -av / home / tin / sample / home / tin / testPoznámka: Zadání „/“ po zdrojovém adresáři zkopíruje pouze obsah adresáře. Pokud nezadáme „/“ za zdrojovým adresářem, zdrojový adresář bude také zkopírován do cílového adresáře.
Stejně jako v následujícím výstupu můžete vidět, že náš zdrojový adresář „sample“ je také zkopírován do cílového adresáře (protože jsme jako zdrojový adresář použili „sample“ místo „sample /“).
Rsync podporuje přírůstkový přenos, jak vidíte na výše uvedeném výstupu, že přenáší pouze soubory, které jsou nové nebo aktualizované.
Zkopírujte soubory podle maximální velikosti
Při kopírování můžeme také určit maximální velikost souborů, které lze kopírovat pomocí možnosti „-max-size“. Chcete-li například zkopírovat soubory ne větší než 2 000 kB z adresáře ~ / Downloads do ~ / Documents, bude příkaz:
$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / dokumentyTento příkaz zkopíruje všechny soubory z adresáře ~ / Downloads do adresáře ~ / Documents kromě těch větších než 2000 kB.
Zkopírujte soubory na základě minimální velikosti
Podobně můžeme také určit minimální velikost souborů, které lze kopírovat pomocí volby „-min-size“. Například pro kopírování souborů ne méně než 5M z adresáře ~ / Downloads do ~ / Documents bude příkaz:
$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / DocumentsTento příkaz zkopíruje všechny soubory z ~ / Downloads do adresáře ~ / Documents kromě těch, které jsou menší než 5M.
Vyloučit soubory
Při kopírování souborů z jednoho adresáře do druhého můžete některé soubory vyloučit pomocí možnosti „-exclude“ následované názvem souboru nebo příponou typu souboru.
Například vyloučit všechny .zip soubory při kopírování souborů z ~ / Soubory do ~ / Dokumenty adresář, příkaz by byl:
$ rsync -a --exclude = "*.zip "/ home / plechovka / Soubory ke stažení / / home / plechovka / DokumentyKopírujte soubory a adresáře na dálku
S Rsync můžete zkopírovat jeden soubor, více souborů a adresářů do vzdáleného systému. Pro vzdálené kopírování souborů a adresářů budete potřebovat:
- Rsync nainstalován v místním i vzdáleném systému
- SSH přístup ke vzdálenému systému
- Heslo vzdáleného uživatele
Před kopírováním souborů pomocí rsync se ujistěte, že máte přístup ke vzdálenému systému přes SSH:
$ ssh remote_user @ remote_ip
Obecná syntaxe pro kopírování souborů a adresářů do vzdáleného systému pomocí rsync:
Například zkopírovat jeden soubor „soubor.txt ”z ~ / Downloads do vzdáleného systému ~ / Documents adresář, příkaz by byl:
$ rsync -v ~ / Soubory ke stažení / soubor1.txt umara @ 192.168.72.164: ~ / Documents
Podobně zkopírujte adresář „~ / Soubory ke stažení / soubory“ v místním systému s podadresářem a veškerým obsahem do adresáře „~ / Soubory ke stažení / vzorky“ na vzdáleném systému:
$ rsync -rv ~ / Stahování / soubory umara @ 192.168.72.164: ~ / Soubory ke stažení / ukázky
Můžete také zkopírovat soubory a adresáře ze vzdáleného počítače do místního počítače. Například pro kopírování „souboru2.txt ”ze vzdáleného systému na plochu místního systému:
$ rsync -v umara @ 192.168.72.164: ~ / Soubory ke stažení / soubor2.txt ~ / Desktop /
Podobně zkopírujte adresář ze vzdáleného systému do místního systému
$ rsync -rv umara @ 192.168.72.164: ~ / Downloads / sample ~ / Desktop / testPři kopírování souborů do / ze vzdáleného systému můžete také použít všechny možnosti jako -max-size, -min-size, -exclude a další.
Rsync je skvělý nástroj pro kopírování souborů ze zdroje do cíle, ať už lokálně, nebo vzdáleně. Zahrnuje velkou sadu možností, které vám poskytnou flexibilitu a kontrolu při přenosu souborů do / ze vzdáleného systému.