GNU/Linux >> Znalost Linux >  >> Debian

Jak používat příkaz rsync ke kopírování dat lokálně a přes SSH

Kopírování souborů z jednoho umístění do druhého je docela základní úkol a lze jej snadno dosáhnout pomocí příkazu cp. Někdy však musíte udělat trochu víc. Zde přichází příkaz rsync, zvláště když přenášíte větší soubory. Rsync (Remote Sync) je nástroj příkazového řádku založený na Linuxu, který lze použít k synchronizaci a kopírování souborů mezi místními a vzdálenými servery. Umožňuje synchronizaci souborů mezi dvěma adresáři na stejném počítači, mezi adresáři ve dvou různých počítačích ve stejné síti, mezi dvěma adresáři na vzdáleném systému.

Hlavní výhodou rsync je, že namísto slepého kopírování celého obsahu analyzuje a přenáší pouze rozdíly mezi zdrojem a cílem, což může šetřit systémové prostředky a šířku pásma. Některé další výhody rsync jsou následující:

  • Před přenosem zkomprimuje soubory
  • Při přenosu dat lze zobrazit ukazatel průběhu
  • Proces kopírování lze pozastavit a obnovit později
  • Umožňuje přenos prostřednictvím připojení SSH

V tomto článku si vysvětlíme, jak používat rsync pro kopírování dat v Linuxu. Pro popis postupu uvedeného v tomto článku použijeme Debian 10.

Instalace Rsync

Rsync je standardně nainstalován ve většině operačních systémů Linux. Pokud však není nainstalován, můžete jej nainstalovat podle následujících kroků:

Spusťte ve svém systému aplikaci Terminál v části Aktivity v levém horním rohu plochy Debianu. Poté do vyhledávacího pole zadejte terminál . Když se zobrazí ikona Terminál, kliknutím na ni ji spusťte.

Nyní spusťte níže uvedený příkaz v Terminálu a nainstalujte nástroj rsync:

$ apt install rsync

Pomocí Rsync

Každý příkaz rsync začíná rsync následuje možnost, ve které můžete zadat různé parametry. Rsync poskytuje řadu možností, které vám dávají kontrolu nad tvarováním specifikací přenosu. Pak je zde zdroj a cíl, který závisí na tom, zda jde o vzdálený nebo místní počítač.

Základní syntaxe rsync je:

$ rsync [option] [source] [destination]

Některé z obecných voleb používaných s příkazy rsync:

  1. -v :podrobný
  2. -a :režim archivace, umožňuje rekurzivní kopírování souborů a zachovává symbolické odkazy, oprávnění k souborům, vlastnictví uživatelů a skupin a časová razítka
  3. -z :komprimuje data
  4. -h :čitelné pro člověka, čísla vydávají ve formátu čitelném člověkem
  5. –max-size= SIZE, přeneste soubory se zadanou minimální SIZE
  6. –min-size= SIZE, přenést soubory se zadanou maximální SIZE

Nyní vysvětlíme několik příkladů použití rsync s těmito možnostmi.

Zkopírujte soubory a adresáře na místní server

Kopírovat soubory lokálně

Můžete zkopírovat jeden nebo více souborů ze zdrojového adresáře do cílového adresáře na stejném počítači. Příkladem by bylo zkopírování všech souborů .jpg soubory z ~/Stahování do adresáře ~/Documents adresář pomocí následujícího příkazu:

$ rsync -zvh /home/tin/Downloads/*.jpg /home/tin/Documents

Po spuštění výše uvedeného příkazu jsou všechny .jpg soubory ve zdrojovém adresáři /home/tin/Downloads bude zkopírován do cílového adresáře /home/tin/Documents .

Ve výše uvedeném příkladu jsme použili možnosti jako -z pro kompresi -v pro podrobný výstup a -h pro výstup čitelný pro člověka.

Kopírovat adresáře lokálně

Podobně jako u souborů můžete také zkopírovat celou složku a soubory obsažené v adresáři pomocí příkazu rsync. Příkladem může být zkopírování všech souborů z ~/Downloads do adresáře ~/Documents adresář pomocí následujícího příkazu:

$ rsync -zavh /home/tin/Downloads/ /home/tin/Documents

Zkopírujte soubory na vzdálený server

Můžete zkopírovat jeden nebo více souborů ze zdrojového adresáře do cílového adresáře na vzdáleném počítači. Chcete-li například zkopírovat soubory z místního počítače na vzdálený počítač, použijte následující syntaxi příkazu:

$ rsync [options] [local path] [user]@[remote server]:[remote path]

Kopírování souborů na základě maximální velikosti

Můžete také určit maximální velikost souboru, který lze zkopírovat ze zdroje do cíle pomocí rsync. Chcete-li to provést, použijte následující syntaxi příkazu:

$ rsync --max-size=”” [source] [destination]

Příkladem může být zkopírování souborů o maximální velikosti 4000 kB ze zdroje ~/Downloads do cíle ~/Documents adresář. V tomto případě nebudou soubory o velikosti větší než 4000k zkopírovány do cíle.

$ rsync --max-size=4000k /home/tin/Downloads/*.iso /home/tin/Documents/

Kopírování souborů na základě minimální velikosti

Podobně můžete také určit minimální velikost, kterou lze zkopírovat ze zdroje do cíle pomocí rsync. Chcete-li to provést, použijte následující syntaxi příkazu:

$ rsync --min-size=”” [source] [destination]

Příkladem může být kopírování souborů o maximální velikosti 2M ze zdroje ~/Stahování do cíle ~/Documents adresář. Soubory o velikosti menší než 2M nebudou pomocí rsync zkopírovány.

$ rsync --min-size=2M /home/tin/Downloads/*.iso /home/tin/Documents/

Zobrazit průběh

Můžete také zobrazit průběh kopírování souborů pomocí rsync. Přidat –pokrok příznak za příkazem rsync, jak je znázorněno níže:

$ rsync --progress [source] [destination]

Příkladem může být zobrazení průběhu při kopírování souboru ze zdroje ~/Downloads do cíle ~/Documents adresář:

$ rsync --progress /home/tin/Downloads/VTS_03_1.VOB /home/tin/Documents

Vyloučit soubory

Můžete také vyloučit určité soubory při kopírování souborů ze zdroje do cíle pomocí rsync. Příkladem může být vyloučení všech souborů .pdf při kopírování souborů ze zdroje ~/Downloads do cíle ~/Documents adresář.

rsync -zavh --exclude="*.pdf" /home/tin/Downloads/ /home/tin/Documents

Zadáním následujícího příkazu budou všechny soubory zkopírovány ze zdroje do cíle kromě .pdf soubory.

To je vše, co k tomu patří! Vysvětlili jsme základní použití nástroje rsync pro místní i vzdálené kopírování souborů mezi různými adresáři. Vysvětlili jsme také několik běžných a užitečných možností rync. Existuje tolik jiných možností než tyto, které můžete použít k ovládání každého aspektu chování přenosu. Chcete-li použít tyto možnosti, podívejte se na manuálové stránky rsync.


Debian
  1. Jak stahovat a nahrávat soubory přes SSH

  2. Linuxový příkaz rsync:jak jej používat

  3. Jak kopírovat soubory v Linuxu a Unixu? 10 cp Příklady příkazů

  1. Jak přenášet soubory pomocí Rsync přes SSH

  2. Jak používat příkaz Rsync v linuxu?

  3. Používat zařízení přes SSH?

  1. Jak používat rsync k zálohování dat

  2. Jak používat rsync k vyloučení souborů a adresářů v přenosu dat

  3. Jak přenášet soubory pomocí Rsync přes SSH