GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz Linux Rsync (vzdálená synchronizace).

Linuxový příkaz rsync přenáší a synchronizuje soubory nebo adresáře efektivně mezi místním počítačem, jiným hostitelem, vzdáleným shellem nebo jakoukoli jejich kombinací. Každý, kdo pracuje se systémy založenými na Linuxu, by měl používat tento výkonný příkaz ke zlepšení své produktivity. S pomocí tohoto článku se dozvíte vše, co potřebujete, abyste jej mohli začít používat.

Synchronizace složek nebo ruční kopírování souborů může být neuvěřitelně časově náročné. Nástroj rsync může udělat většinu práce za vás a zároveň přidat skvělé funkce pro úsporu času. I když během přenosu ztratíte připojení, po obnovení připojení se tento nástroj spustí přesně tam, kde skončil.

Základní syntaxe

Základní syntaxe rsync funguje následovně:

rsync [optional modifiers] [SRC] [DEST]

Existuje několik různých způsobů, jak můžete použít Linux rsync. V tomto příkladu [volitelné modifikátory] označte akce, které mají být provedeny, [SRC] je zdrojový adresář a [DEST] je cílový adresář nebo počítač.

Základní syntaxe pro vzdálené prostředí

Při použití vzdáleného shellu, jako je SSH nebo RSH, se syntaxe rsync bude mírně lišit.

Pro přístup ke vzdálenému shellu (PULL ) použijte příkaz rsync:

rsync [optional modifiers] [USER@]HOST:SRC [DEST]

Pro přístup ke vzdálenému shellu (PUSH ) použijte příkaz rsync:

rsync [optional modifiers] SRC [USER@]HOST:[DEST]

Jak zkontrolovat verzi Rsync

Než zkontrolujeme rsync, musíme se přihlásit do VPS, které budeme používat. Tento užitečný tutoriál vám ukáže, jak to udělat na počítači se systémem Windows pomocí Putty SSH. Pokud používáte počítač MacOS nebo Linux, použijte místo toho terminál.

Rsync je předinstalovaný s mnoha distribucemi Linuxu. Chcete-li zkontrolovat, zda je na vašem počítači nainstalován rsync, spusťte následující příkaz:

rsync -version

V naší distribuci Ubuntu příkaz vytvořil následující výstup:

rsync  version 3.1.3  protocol version 31

To znamená, že rsync verze 3.1.3 je již na našem počítači. Jednoduché, že?

Jak nainstalovat Rsync

Pokud váš počítač nemá předinstalovaný rsync, můžete to udělat ručně během minuty. V Debianu založené na distribucích jako Ubuntu můžete to udělat pomocí následujícího příkazu:

apt-get install rsync

U distribucí založených na rpm, jako je Fedora a CentOS použijte následující příkaz:

yum install rsync

V systému MacOS použijte následující příkaz:

brew install rsync

A je to! Linux rsync je připraven synchronizovat data, provádět přenosy souborů a mazat soubory. Úspěšnou instalaci můžete zkontrolovat pomocí výše uvedeného příkazu:

rsync -version

Jak používat příkazy Rsync

Pro tento tutoriál vytvoříme na naší ploše Linux dva adresáře s názvy původní a duplikovat . Původní adresář obsahuje tři soubory, zatímco duplikát je prázdný. Nyní se podívejme, jak rsync vytvoří nové způsoby, jak zvýšit produktivitu.

Chcete-li vytvořit dva testovací adresáře, použijte následující příkazy:

cd ~
mkdir original
mkdir duplicate
touch original/file{1..3}

Pokud to chcete zkontrolovat, použijte ls příkaz k zobrazení seznamu všech souborů v adresáři:

ls original

Výstup bude vypadat podobně jako tento:

file1
file2
file3

Pokud použijete ls s duplikátem adresáře, by měl být výhled prázdný.

Nyní, když jsou adresáře nastaveny, vyzkoušíme několik dalších příkazů.

Následující příkaz zkopíruje nebo synchronizuje všechny soubory v originálu adresáře do duplikátu adresář.

rsync original/* duplicate/

* přikazuje příkazu rsync synchronizovat vše v původním adresáři s duplikátem.

Pokud umístíme nový obrázek nebo soubor do původní složky a znovu spustíme stejný příkaz, do cíle se zkopíruje pouze nový obrázek.

Tato funkce je užitečná, když kopírujete soubory přes síť s omezenou šířkou pásma.

Nejběžnější příkazy Rsync

Zde je seznam nejběžnějších příkazů používaných s rsync:

Tím aktivujete režim archivace.

-a, --archive

Získáte tak vizuální výstup, který ukazuje průběh procesu.

-v, --verbose

Toto je výstup ve formátu čitelném pro člověka.

-h, --human-readable format

Tím dojde ke komprimaci dat souboru během přenosu.

-z, --compress

Toto je kopírování dat rekurzivně

-r

Jak používat příkazy Rsync s podadresáři

Mějte na paměti, že výše uvedený příkaz zkopíruje pouze soubory z originálu hlavní adresář složky, nikoli žádný z podadresářů.

Pokud chcete zkopírovat i podadresáře, budete muset použít tento příkaz:

rsync -r original/ duplicate/

Parametr -r (– rekurzivní ) říká rsync, aby zkopíroval vše, včetně podadresářů a soubory z naší původní složky.

/ modifikátor použitý po originálu dá příkaz rsync kopírovat obsah původního adresáře do duplicitní složky.

Jak synchronizovat soubory

Pokud chcete synchronizovat soubory, znamená kopírování souborů, které jsou v cílové složce, ale nejsou v originále, do původní složky, použijte následující příkaz:

rsync -r original duplicate/

Pomocí tohoto příkazu si můžeme být jisti, že původní i duplicitní složky budou obsahovat všechny stejné soubory.

Jak kombinovat příkazy Rsync

Další užitečnou možností je -a (–archiv) protože jej lze spojit s mnoha dalšími příkazy. To znamená, že nezkopíruje pouze soubory, ale také zkopíruje oprávnění, časy úprav a jakékoli další datum.

Přidání -a možnost s -v by vypadalo podobně:

rsync -av --dry-run  original/ duplicate/

Nebojte, vypadá to jen složitě. Pojďme to rozebrat.

Tento příkaz zobrazí pouze soubory, které budou zkopírovány, aniž by provedl nějaké skutečné změny. Pomocí tohoto příkazu můžete získat seznam souborů, které budou zkopírovány.

Pokud jsou všechny soubory ty, které chcete zkopírovat, spusťte příkaz znovu bez —dry-run .

– provoz nasucho (nebo -n ) přiměje rsync provést zkušební provoz, který neprovede žádné změny.

Další možnosti pro příkazy Rysnc

Při přidávání -a možnost -v volbou -av v našem příkazu zvyšuje upovídanost. Zde je, jak by to mělo vypadat:

rsync -av original/ duplicate/

Pokud chcete synchronizovat dvě složky a odstranit položky v duplicitní složce, které v původní složce neexistují, přidejte –delete možnost, jako je tato:

rsync -av --delete  original/ duplicate/

Můžete také vyloučit konkrétní soubory nebo podadresáře, když synchronizujete dvě složky. To provedete přidáním -exclude= . Pokud potřebujete zadat více než jeden soubor, oddělte je čárkou.

rsync -av --exclude=file1,file2  original/ duplicate/

Můžete také zahrnout konkrétní soubory nebo podadresáře při synchronizaci. To provedete přidáním -include= . Můžete to také použít s volbou -exclude=. Níže uvedený příklad bude obsahovat soubory začínající písmenem L a vyloučit všechny ostatní soubory:

rsync -av --include=L* --exclude=*  original/ duplicate/

Pomocí Rsync můžete také určit velikost souboru, který lze synchronizovat. K tomu použijte –max-size možnost:

rsync -av --max-size=10k original/ duplicate/

Pomocí volby -z (–komprimovat) sloučí soubory, které jsou přenášeny po síti. Jako bonus se podívejme, jak provést přenos ze zdrojového serveru na jiný. Příkaz by vypadal takto:

rsync -az ~/Desktop/Original [email protected]:~/tmp/

Jak již bylo zmíněno -z komprimuje soubory, -a , nebo pouhým přidáním a až -z zajistíte, že budou zkopírována také všechna oprávnění.

~/Desktop/Original je zdrojem. Je to místní adresář – ten, který je na počítači, ke kterému jste přihlášeni, a nakonec [email protected]:~/tmp/ označuje cíl. [email protected] je adresa cílového vzdáleného serveru, zatímco :~/tmp/ ukazuje na konkrétní složku na tomto počítači.

Jak přidat ukazatel průběhu

Kromě výše uvedených příkazů můžete přidat -P který bude kombinovat možnosti –pokrok a –částečné . Zobrazí se vám ukazatel průběhu přenášených souborů a také vám umožní obnovit přerušené přenosy souborů.

rsync -azP [SRC] [DEST]

Výstup bude vypadat podobně jako tento:

sending incremental file list
./
file1
         0 100%    0.00kB/s   0:00:00   (xfer#1, to-check=1/3)
file2
         0 100%    0.00kB/s   0:00:00   (xfer#2, to-check=2/3)
file3
         0 100%    0.00kB/s   0:00:00   (xfer#3, to-check=3/3)

Pokud pak příkaz spustíme znovu, uvidíme kratší výstup. Důvodem je, že nebyly provedeny žádné nové změny. Výstup bude vypadat podobně jako tento:

sending incremental file list
send 26 bytes received 5 bytes 1200.00 bytes/sec
total size is 0 speedup is 0.00

Pokud chcete přenést pouze určité soubory, můžete to zadat pomocí následujícího příkazu:

touch original/file{1..5}
rsync -azP [SRC] [DEST]

To poskytne podobný výstup jako předchozí příkaz, ale pouze se soubory specifikovanými ve složených závorkách.

Jak vytvořit zálohu Rsync

Dalším důležitým příkazem je vytvoření zálohy Rsync. Toho dosáhnete kombinací –záloha s –adresářem takže můžete určit, kde budou uloženy záložní soubory.

rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]

Závěr

Pokud jde o příkazy Rsync, pokryli jsme pouze špičku ledovce. Linux Rsync je neuvěřitelně výkonný nástroj, který by měl znát každý správce serveru nebo vývojář Linuxu. Pokryli jsme vše, abyste mohli začít, od instalace až po základní příkazy. Pokud se chcete seznámit s pokročilejšími funkcemi, podívejte se do oficiální dokumentace.

Připravte se na zlepšení své produktivity. Hodně štěstí s vaším projektem.


Linux
  1. Jak používat Linuxový příkaz grep

  2. Jak používat příkaz historie v Linuxu

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

  1. Jak používat Su Command v Linuxu

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

  3. Jak používat Linux Screen Command

  1. Jak používat příkaz historie Linuxu

  2. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  3. Jak používat rsync z Windows PC na vzdálený Linux server?