GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Rsync v Linuxu s příklady

rsync je rychlý a všestranný nástroj příkazového řádku pro synchronizaci souborů a adresářů mezi dvěma umístěními přes vzdálený shell nebo z/do vzdáleného démona Rsync. Poskytuje rychlý přírůstkový přenos souborů přenosem pouze rozdílů mezi zdrojem a cílem.

Rsync lze použít pro zrcadlení dat, přírůstkové zálohy, kopírování souborů mezi systémy a jako náhradu za scp , sftp a cp příkazy.

Tento článek vysvětluje, jak používat rsync prostřednictvím praktických příkladů a podrobných vysvětlení nejběžnějšího rsync možnosti.

Instalace Rsync #

rsync nástroj je předinstalovaný ve většině distribucí Linuxu a macOS. Pokud nemáte rsync nainstalovaný ve vašem systému, můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce.

Instalovat Rsync na Ubuntu a Debian #

sudo apt install rsync

Instalovat Rsync na CentOS a Fedoru #

sudo yum install rsync

Syntaxe příkazu Rsync #

Než se pustíte do toho, jak používat rsync příkaz, začněme zopakováním základní syntaxe.

rsync pomocné výrazy mají následující podobu:

Local to Local:  rsync [OPTION]... [SRC]... DEST
Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]
  • OPTION - Možnosti rsync.
  • SRC - Zdrojový adresář.
  • DEST – Cílový adresář.
  • USER – Vzdálené uživatelské jméno.
  • HOST – Název vzdáleného hostitele nebo IP adresa.

rsync poskytuje řadu možností, které řídí, jak se příkaz chová. Nejpoužívanější možnosti jsou:

  • -a , --archive , archivační režim, ekvivalentní -rlptgoD . Tato možnost říká rsync k rekurzivní synchronizaci adresářů, přenosu speciálních a blokových zařízení, zachování symbolických odkazů, časů úprav, skupin, vlastnictví a oprávnění.
  • -z , --compress . Tato volba vynutí rsync pro komprimaci dat při jejich odesílání do cílového počítače. Tuto možnost použijte pouze v případě, že je připojení ke vzdálenému počítači pomalé.
  • -P , ekvivalentní --partial --progress . Při použití této možnosti rsync zobrazuje indikátor průběhu během přenosu a uchovává částečně přenesené soubory. Je to užitečné při přenosu velkých souborů přes pomalá nebo nestabilní síťová připojení.
  • --delete . Při použití této možnosti rsync odstraní nadbytečné soubory z cílového umístění. Je to užitečné pro zrcadlení.
  • -q , --quiet . Tuto možnost použijte, pokud chcete potlačit nechybové zprávy.
  • -e . Tato možnost vám umožňuje vybrat jiný vzdálený shell. Ve výchozím nastavení rsync je nakonfigurován pro použití ssh.

Základní použití Rsync #

Nejzákladnější případ použití rsync je zkopírovat jeden soubor z jednoho do jiného místního umístění. Zde je příklad:

rsync -a /opt/filename.zip /tmp/

Uživatel spouštějící příkaz musí mít oprávnění ke čtení ve zdrojovém umístění a oprávnění k zápisu v cíli.

Vynechání názvu souboru z cílového umístění zkopíruje soubor s aktuálním názvem. Pokud chcete soubor uložit pod jiným názvem, zadejte nový název v cílové části:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Skutečná síla rsync přichází při synchronizaci adresářů. Níže uvedený příklad ukazuje, jak vytvořit místní zálohu souborů webových stránek:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Pokud cílový adresář neexistuje, rsync vytvoří jej.

Za zmínku stojí rsync poskytuje odlišné zacházení se zdrojovými adresáři s koncovým lomítkem (/ ). Pokud má zdrojový adresář koncové lomítko, příkaz zkopíruje pouze obsah adresáře do cílového adresáře. Když je vynecháno koncové lomítko, rsync zkopíruje zdrojový adresář do cílového adresáře.

Používání rsync k synchronizaci dat ze/do vzdáleného počítače #

Při použití rsync pro vzdálený přenos dat musí být nainstalován na zdrojovém i cílovém počítači. Nové verze rsync jsou nakonfigurovány tak, aby používali SSH jako výchozí vzdálený shell.

V následujícím příkladu přenášíme adresář z místního na vzdálený počítač:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Pokud jste nenastavili SSH přihlášení ke vzdálenému počítači bez hesla, budete požádáni o zadání uživatelského hesla.

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

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Pokud SSH na vzdáleném hostiteli naslouchá na jiném než výchozím portu 22, zadejte port pomocí -e možnost:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Při přenosu velkého množství dat se doporučuje spustit rsync příkaz uvnitř relace obrazovky nebo použít -P možnost:

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Vyloučit soubory a adresáře #

Existují dvě možnosti, jak vyloučit soubory a adresáře. První možností je použít --exclude argument a na příkazovém řádku zadejte soubory a adresáře, které chcete vyloučit.

Při vyloučení souborů nebo adresářů musíte použít jejich relativní cesty ke zdrojovému umístění.

Následující příklad ukazuje, jak vyloučit node_modules a tmp adresáře:

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

Druhou možností je použít --exclude-from a zadejte soubory a adresáře, které chcete ze souboru vyloučit.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
/exclude-file.txt
node_modules
tmp

Závěr č.

Ukázali jsme vám, jak používat Rsync ke kopírování a synchronizaci souborů a adresářů. Na stránce uživatelské příručky Rsync se můžete o Rsync dozvědět mnohem více.

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


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Linuxový příkaz rsync s praktickými příklady

  1. Echo Command v Linuxu (s příklady)

  2. man Command v Linuxu s příklady

  3. Příkaz AWK v Linuxu s příklady