Jak používat rsync ke kopírování souborů

How Use Rsync Copy Files



Rsync je nástroj příkazového řádku v systému Linux, který se používá ke kopírování souborů ze zdrojového umístění do cílového umístění. Můžete kopírovat soubory, adresáře a celý systém souborů a synchronizovat soubory mezi různými adresáři. Je to víc než jen kopírování souborů. Snižuje množství dat odesílaných po síti odesíláním pouze nových nebo aktualizovaných souborů. Proto je považován za skvělý nástroj pro kopírování a zálohování souborů. Rsync také podporuje kopírování souborů do vzdáleného systému přes SSH.

V tomto článku vysvětlíme, jak pomocí rsync kopírovat soubory, na několika praktických příkladech. 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 pomocí Rsync:







  • Zkopírujte soubor/adresář v místním systému
  • Zkopírujte soubor/adresář z lokálního do vzdáleného systému
  • Zkopírujte soubor/adresář ze vzdáleného systému do lokálního

Vysvětlili jsme příkazy a postup uvedené v tomto článku na Ubuntu 20.04 LTS. Ke kopírování souborů pomocí rsync budete potřebovat terminál příkazového řádku. Chcete -li otevřít aplikaci Terminal 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:



$sudovýstižnýNainstalujtersync

Zde jsou některé z běžně používaných možností, které lze použít s rsync:





–A: režim archivace
–V: zobrazuje podrobnosti o procesu kopírování
–P: zobrazuje ukazatel průběhu
–R: kopíruje data rekurzivně
–Z: komprimuje data
–Q: potlačení výstupu

Místně kopírujte soubory a adresáře

Obecná syntaxe rsync je:



$rsync[volba] [zdroj] [destinace]

Místně zkopírujte jeden soubor

Chcete -li zkopírovat soubor z jednoho umístění do jiného v rámci vašeho systému, můžete tak učinit zadáním rsync následuje název zdrojového souboru a cílový adresář.

Chcete -li 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, příkaz by byl:

$rsync/Domov/věřit/soubor1.txt/Domov/věřit/Dokumenty

Poznámka: Místo /home/tin/file1.txt můžeme také zadat file1, protože právě pracujeme v domovském adresáři. Můžeme také použít ~/Documents namísto uvedení úplné cesty jako/home/tin/Documents.

Místní kopírování více souborů

Chcete -li v rámci systému kopírovat více souborů najednou z jednoho umístění na druhé, můžete tak učinit zadáním rsync následovaný názvem zdrojových souborů a cílovým adresářem.

Chcete -li například zkopírovat soubory file2.txt a file3.txt z domovského adresáře do adresáře ~/Documents, příkaz by byl:

$rsync/Domov/věřit/soubor2.txt/Domov/věřit/soubor3.txt/Domov/věřit/Dokumenty

Chcete -li zkopírovat všechny soubory se stejnou příponou, můžete místo individuálního zadání názvů souborů použít symbol hvězdičky (*). Například pro zkopírování všech souborů z domovského adresáře končícího příponou .zip do adresáře ~/Documents použijeme:

$rsync/Domov/věřit/ *.zip ~/Dokumenty

Místně zkopírujte adresáře

Chcete-li zkopírovat adresář s jeho podadresářem a veškerým obsahem z jednoho umístění do druhého v rámci vašeho systému, můžete tak učinit zadáním rsync následuje zdrojový a cílový adresář.

Chcete -li například zkopírovat ukázkový adresář do testovacího/ adresáře v domovském adresáři, příkaz by byl:

$rsync-z /Domov/věřit/vzorek/Domov/věřit/test

Poznámka: Zadání / za zdrojový adresář zkopíruje pouze obsah adresáře. Pokud nezadáme /za zdrojový adresář, bude zdrojový adresář také zkopírován do cílového adresáře.

Stejně jako v následujícím výstupu můžete vidět, že ukázka našeho zdrojového adresáře je také zkopírována do cílového adresáře (protože jsme použili sample místo sample/ jako zdrojový adresář).

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é.

Kopí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í volby –max-size. Chcete -li například zkopírovat soubory ne větší než 2 000 kB z adresáře ~/Stahování do adresáře ~/Dokumenty, příkaz by byl:

$rsync-na --max. velikost= 2 000 tis/Domov/věřit/Soubory ke stažení/ * /Domov/věřit/Dokumenty

Tento příkaz zkopíruje všechny soubory z adresáře ~/Downloads do ~/Documents kromě souborů větších než 2000 kB.

Kopírujte soubory podle minimální velikosti

Podobně můžeme také určit minimální velikost souborů, které lze kopírovat pomocí volby –min-size. Chcete -li například zkopírovat soubory ne menší než 5 mil. Z adresáře ~/Stahování do adresáře ~/Dokumenty, příkaz by byl následující:

$rsync-na --min velikost= 5 mil/Domov/věřit/Soubory ke stažení/ /Domov/věřit/Dokumenty

Tento 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í volby —exclude následované názvem souboru nebo příponou typu souboru.

Chcete -li například při kopírování souborů z adresáře ~/Downloads do ~/Documents vyloučit všechny soubory .zip, příkaz by byl:

$rsync-na --vyloučit='*.zip' /Domov/věřit/Soubory ke stažení/ /Domov/věřit/Dokumenty

Zkopírujte soubory a adresáře na dálku

Pomocí 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 na 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:

$sshremote_user@vzdálený_ip


Obecná syntaxe pro kopírování souborů a adresářů do vzdáleného systému pomocí rsync:

$rsync[volba] [zdroj] [vzdálený uživatel@remoteip: destinace]

Chcete -li například zkopírovat jeden soubor file.txt z ~/Stahování do adresáře vzdáleného systému ~/Dokumenty, příkaz by byl:

$rsync-proti~/Soubory ke stažení/file1.txt umara@192.168.72.164:~/Dokumenty

Podobně zkopírujte adresář ~/Downloads/files v místním systému s jeho podadresářem a veškerým obsahem do adresáře ~/Downloads/samples ve vzdáleném systému:

$rsync-rv~/Soubory ke stažení/soubory umra@192.168.72.164:~/Soubory ke stažení/Vzorky

Soubory a adresáře můžete také zkopírovat ze vzdáleného počítače na místní počítač. Chcete -li například zkopírovat soubor2.txt ze vzdáleného systému na plochu místního systému:

$rsync-protiumara@192.168.72.164:~/Soubory ke stažení/file2.txt ~/plocha počítače/

Podobně zkopírujte adresář ze vzdáleného systému do místního systému

$rsync-rvumara@192.168.72.164:~/Soubory ke stažení/vzorek ~/plocha počítače/test

Př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 buď lokálně, nebo vzdáleně. Obsahuje velkou sadu možností, které vám poskytnou flexibilitu a ovládání při přenosu souborů do/ze vzdáleného systému.