Android

Jak přenášet soubory pomocí rsync přes ssh

Ron Paul on Understanding Power: the Federal Reserve, Finance, Money, and the Economy

Ron Paul on Understanding Power: the Federal Reserve, Finance, Money, and the Economy

Obsah:

Anonim

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

Nejoblíbenější protokoly pro přenos dat jsou SSH a FTP. Zatímco FTP je velmi populární, vždy raději používejte 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é poskytuje rsync . rsync lze použít pro zrcadlení dat, přírůstkové zálohy, kopírování souborů mezi systémy atd.

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

Požadavky

  • Obslužný program rsync musí být nainstalován v 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, který spouští příkaz rsync a vzdálený uživatel SSH musí mít příslušná oprávnění ke čtení a zápisu souborů.

Použití rsync k přenosu souborů přes SSH

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

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

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

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 volbu -e ssh .

Například pro přenos jednoho souboru /opt/file.zip z lokálního systému do adresáře /var/www/ na vzdáleném systému s IP 12.12.12.12 byste spustili:

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

Volba -a znamená archivační režim, který bude rekurzivně synchronizovat adresáře, přenášet speciální a bloková zařízení, zachovat symbolické odkazy, časy úprav, skupinu, vlastnictví a oprávnění.

Pokud soubor existuje na vzdáleném serveru, 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é místo 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 pomocí koncové lomítko / . Pokud má zdrojový adresář koncové lomítko, rsync zkopíruje do cílového adresáře pouze obsah zdrojového adresáře. Pokud je koncové lomítko vynecháno, bude zdrojový adresář zkopírován do cílového adresáře.

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

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

Pokud chcete synchronizovat místní a vzdálený adresář, použijte volbu --delete . Při použití této možnosti buďte opatrní, protože odstraní 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 poslouchá na jiném portu, než je výchozí 22 , zadejte port pomocí volby -e . Pokud například SSH poslouchá na portu 3322 , použijte:

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 spouštět příkaz rsync uvnitř relace obrazovky nebo použít volbu -P která říká rsync aby během přenosu zobrazil ukazatel průběhu a ponechal částečně přenesené soubory:

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 a zanechte komentář.

terminál rsync