GNU/Linux >> Znalost Linux >  >> Ubuntu

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

Úvod

Rsync znamená „Remote Sync“. rsync umožňuje přenášet a synchronizovat data mezi různými počítači a adresáři. Pomocí protokolu Secure Shell (SSH) můžete své soubory bezpečně zkopírovat na jiné místo.

Nástroj rsync má ve srovnání s jinými metodami kopírování souborů mnoho výhod. Při odesílání a přijímání souborů používá kompresi i dekompresi. Nástroj pouze přenáší nové nebo aktualizované soubory, šetří šířku pásma a přináší rychlejší přenosové časy.

Podle tohoto průvodce se dozvíte, jak používat rsync přes SSH k přenosu nebo kopírování souborů.

Předpoklady

  • Uživatel s sudo nebokořen privilegia
  • Přístup SSH na server pomocí příkazového řádku/okna terminálu
  • Rsync nainstalovaný na místním a cílovém počítači

Ověřte instalaci Rsync

Nejnovější distribuce Linuxu mají rsync ve výchozím stavu. Chcete-li ověřit, že váš systém má nainstalovaný rsync, spusťte instalační příkaz.

Pro Debian a Ubuntu počítače, použijte apt-get :

sudo apt-get install rsync

Pokud je již rsync nainstalován, výstup zobrazuje aktuální verzi nástroje.

Na podle RPM počítače, jako je CentOS, používají:

sudo yum install rsync

Přenos souborů pomocí Rsync přes SSH

Než budete moci začít přenášet soubory a adresáře pomocí rsync přes SSH, ujistěte se, že můžete použít SSH pro připojení ke vzdálenému serveru. Po ověření můžete začít zálohovat svá data. Ujistěte se, že váš cílový systém má dostatek úložného prostoru.

Syntaxe pro kopírování souborů na vzdálený server přes SSH pomocí rsync příkaz je:

rsync OPTION SourceDirectory_or_filePath [email protected]_or_name:Target

Příklady příkazů rsync

Postupujte podle zbytku průvodce a prohlédněte si příklady nejběžnějších případů použití nástroje rsync .

Přeneste konkrétní soubor pomocí Rsync

Chcete-li přenést jeden soubor na vzdálený počítač, zadejte úplnou cestu ke zdrojovému souboru. Například:

rsync ~/Dir1/source.pdf [email protected]:~/Desktop/test

Ujistěte se, že používáte uvozovky pro soubory, které obsahují mezery v názvu. Například:

rsync ~/Desktop/Dir1/"source pdf sample.pdf" [email protected]:~/Desktop/test

Přenos obsahu adresáře pomocí Rsync

Při synchronizaci obsahu adresáře pomocí rsync přes SSH existuje několik možností.
Chcete-li přenést všechny soubory ze zdrojového adresáře do cíle na vzdáleném hostiteli, zadejte:

rsync ~/SourceDirectory/* [email protected]:~/Destination

Hvězdička (*) dává nástroji pokyn, aby zahrnul všechny soubory ve zdrojovém adresáři. Podadresáře nejsou převedeno .

Například:

Výstup zobrazuje adresáře, které rsync během přenosu vynechal.

Chcete-li zahrnout všechny podadresáře ze zdrojového adresáře, použijte -r (rekurzivní) nebo -a (archiv) volba. -a vlajka je to, co doporučujeme. Tato možnost se synchronizuje rekurzivně a zachovává všechna oprávnění a nastavení souborů. Tentokrát hvězdičku nepoužívejte ve zdrojové cestě.

rsync -a ~/Desktop/Dir1/ [email protected]:~/Desktop/test

Když spustíte příkaz v tomto formátu, rsync přenese všechny soubory a podadresáře ze zdrojového adresáře do cílového umístění. Z našeho příkladu výše, test složka bude mít obsah Dir1 zdroj po dokončení přenosu.

Chcete-li vynechat soubory z kopírování, podívejte se na naši příručku, jak vyloučit soubory a adresáře z přenosu dat pomocí příkazu rsync.

Zkontrolujte průběh přenosu souborů Rsync

Chcete-li zkontrolovat stav přenosů rsync, použijte -P volba. Tato možnost zobrazuje časy přenosu a také názvy souborů a adresářů, které jsou synchronizovány.

Pokud dojde k problému s připojením a dojde k přerušení synchronizace, -P obnoví vaše převody.

Spusťte příkaz v tomto formátu pro rekurzivní synchronizaci a zkontrolujte stav přenosu:

rsync -aP ~/SourceDirectory/ [email protected]:~/Destination

Například:

Pokud znovu spustíte stejný příkaz, když ve zdrojovém adresáři nedošlo k žádným změnám, přenos neproběhne. Důvodem je, že rsync přenáší pouze úpravy v souborech a nové soubory. V tomto případě výstup zobrazuje pouze následující řádek:

Pokud dojde ke změně byť jen v jednom zdrojovém souboru, rsync ji detekuje a synchronizuje s cílem.

Provedli jsme změnu v jednom souboru a znovu spustili stejný příkaz:

Výstup zobrazuje zdrojový vzorek2 soubor byl přenesen, protože rsync zjistil, že jsme soubor upravili.


Ubuntu
  1. Jak nastavit Rsync s SSH na UNIX / Linux (rsync bez hesla)

  2. Jak porovnávat adresáře přes ssh

  3. Jak mohu vyloučit soubory ve výchozím nastavení pomocí rsync?

  1. Jak selektivně umlčet Rsync?

  2. Jak připojit Nexus 7 k přenosu souborů?

  3. Zálohujte své soubory pomocí rsync

  1. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

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

  3. Jak nastavit Rsync bez hesla s SSH na UNIX / Linux?