GNU/Linux >> Znalost Linux >  >> Linux

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

Pokud jde o přenos souborů mezi systémy v síti, uživatelé Linuxu a Unixu mají k dispozici spoustu nástrojů.

Nejoblíbenější protokoly pro přenos dat jsou SSH a FTP. I když je FTP velmi populární, vždy preferujte použití SSH, protože je to nejbezpečnější způsob přenosu souborů.

Existují specializované nástroje pro přenos souborů přes SSH, jako je scp a sftp ale žádný z nich nemá všechny funkce, které rsync poskytuje. rsync lze použít pro zrcadlení dat, přírůstkové zálohy, kopírování souborů mezi systémy a tak dále.

V tomto tutoriálu vysvětlíme, jak kopírovat soubory pomocí rsync přes SSH.

Požadavky #

  • rsync obslužný program musí být nainstalován na cílovém i zdrojovém systému. Pokud není nainstalován, můžete jej nainstalovat pomocí správce balíčků vaší distribuce:

    Ubuntu a Debian:

    sudo apt install rsync

    CentOS a Fedora:

    sudo yum install rsync
  • SSH přístup ke vzdálenému počítači.

  • Uživatel spouštějící rsync a vzdálený uživatel SSH musí mít příslušná oprávnění ke čtení a zápisu souborů.

Používání rsync k přenosu souborů přes SSH #

Pomocí rsync , můžete přenášet soubory a adresáře přes SSH ze a na vzdálené servery.

Obecná syntaxe pro přenos souborů pomocí rsync je následující:

Local to Remote: rsync [OPTION]... -e ssh [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... -e ssh [USER@]HOST:SRC... [DEST]

Kde SRC je zdrojový adresář DEST je cílový adresář USER je vzdálené uživatelské jméno SSH a HOST je vzdálený hostitel SSH nebo IP adresa.

Novější verze rsync jsou nakonfigurovány tak, aby používaly SSH jako výchozí vzdálený shell, takže můžete vynechat -e ssh možnost.

Například pro přenos jednoho souboru /opt/file.zip z místního systému do /var/www/ adresář na vzdáleném systému s IP 12.12.12.12 běželi byste:

rsync -a /opt/file.zip [email protected]:/var/www/

-a volba znamená archivační režim, který synchronizuje adresáře rekurzivně, přenáší speciální a bloková zařízení, zachovává symbolické odkazy, časy úprav, skupiny, vlastnictví a oprávnění.

Pokud jste na vzdáleném počítači nenastavili přihlášení SSH bez hesla, budete vyzváni k zadání uživatelského hesla.

Pokud soubor na vzdáleném serveru existuje, bude přepsán. Pokud chcete soubor uložit pod jiným názvem, zadejte nový název:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Chcete-li přenést data ze vzdáleného do místního počítače, použijte vzdálené umístění jako zdroj a místní umístění jako cíl:

rsync -a [email protected]:/var/www/file.zip /opt/

Přenos adresářů pomocí rsync přes SSH je stejné jako přenos souborů.

Je důležité vědět, že rsync poskytuje odlišné zacházení se zdrojovými adresáři s koncovým lomítkem / . Pokud má zdrojový adresář koncové lomítko, rsync zkopíruje pouze obsah zdrojového adresáře do cílového adresáře. Pokud je koncové lomítko vynecháno, zdrojový adresář bude zkopírován do cílového adresáře.

Například pro přenos místního /opt/website/images/ do adresáře /var/www/images/ adresář na vzdáleném počítači, který byste napsali:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Použijte --delete Pokud chcete synchronizovat místní a vzdálený adresář. Při používání této možnosti buďte opatrní, protože smaže soubory v cílovém adresáři, pokud ve zdrojovém adresáři neexistují.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Pokud SSH na vzdáleném hostiteli naslouchá na jiném portu, než je výchozí 22 , zadejte port pomocí -e volba. Například pokud SSH naslouchá na portu 3322 byste použili:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

Při přenosu velkého množství dat se doporučuje spustit rsync příkaz uvnitř relace obrazovky nebo použijte -P možnost, která říká rsync pro zobrazení indikátoru průběhu během přenosu a zachování částečně přenesených souborů:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Závěr č.

Ukázali jsme vám, jak používat rsync přes SSH ke kopírování a synchronizaci souborů a adresářů.

Můžete si také přečíst, jak vyloučit soubory nebo adresáře pomocí rsync .

Pokud máte nějaké dotazy, neváhejte zanechat komentář.


Linux
  1. Jak selektivně umlčet Rsync?

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

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

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

  2. Zálohujte své soubory pomocí rsync

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

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

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

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