Vyhledávání na webu

Jak používat Rsync k synchronizaci nových nebo změněných/upravených souborů v Linuxu


Jako správce systému nebo zkušený uživatel Linuxu jste se pravděpodobně setkali nebo dokonce při několika příležitostech použili všestranný nástroj Linux Rsync, který uživatelům umožňuje rychle kopírovat nebo synchronizovat soubory lokálně i vzdáleně. Je to také skvělý nástroj, který se běžně používá pro operace zálohování a zrcadlení.

Některé z jeho vynikajících vlastností a výhod zahrnují; je výjimečně všestranný v tom, že může kopírovat lokálně, do/ze vzdáleného shellu nebo vzdáleného rsync, je také pozoruhodně flexibilní a umožňuje uživatelům zadat libovolný počet souborů ke kopírování.

Doporučená četba: 10 praktických příkladů příkazu Rsync v Linuxu

Dále umožňuje kopírování odkazů, zařízení, vlastníka souboru nebo adresáře, skupin a oprávnění. Podporuje také použití bez oprávnění root ve spojení s mnoha dalšími.

Jedním imperativním rozdílem rsync ve srovnání s jinými příkazy pro kopírování souborů v Linuxu je jeho použití protokolu vzdálené aktualizace k přenosu pouze rozdílu mezi soubory nebo obsahem adresáře.

Proto v tomto článku prozkoumáme, jak nám rsync může pomoci pouze synchronizovat nové nebo změněné soubory nebo obsah adresáře při vytváření záloh a dále v Linuxu.

Pro začátek si musíte pamatovat, že konvenční a nejjednodušší forma použití rsync je následující:

rsync options source destination 

To znamená, že se pojďme ponořit do několika příkladů, abychom odhalili, jak výše uvedený koncept skutečně funguje.

Lokální synchronizace souborů pomocí Rsync

Pomocí níže uvedeného příkazu budete moci lokálně zkopírovat soubory z mého adresáře Documents do adresáře /tmp/documents:

rsync -av Documents/* /tmp/documents

V příkazu výše možnost:

  1. -a – znamená režim archivace
  2. -v – znamená podrobný, zobrazující podrobnosti o probíhajících operacích

Ve výchozím nastavení rsync pouze kopíruje nové nebo změněné soubory ze zdroje do cíle, když přidám nový soubor do svého adresáře Documents, stane se to po spuštění stejného příkazu podruhé:

rsync -av Documents/* /tmp/documents

Jak můžete pozorovat a všimnout si z výstupu příkazu, do cílového adresáře se zkopíruje pouze nový soubor.

Doporučená četba: Jak synchronizovat dva webové servery/weby Apache pomocí Rsync

Možnost --update nebo -u umožňuje rsync přeskočit soubory, které jsou v cílovém adresáři stále nové, a jedna důležitá možnost, --dry-run nebo -n nám umožňuje provést testovací operaci bez provádění jakýchkoli změn. Ukazuje nám, jaké soubory se mají zkopírovat.

rsync -aunv Documents/* /tmp/documents

Po provedení testovacího běhu můžeme skoncovat s -n a provést skutečnou operaci:

rsync -auv Documents/* /tmp/documents

Synchronizace souborů z místního na vzdálený Linux

V níže uvedeném příkladu kopíruji soubory z místního počítače na vzdálený server s adresou IP – 10.42.1.5. Abychom synchronizovali pouze nové soubory na místním počítači, které na vzdáleném počítači neexistují, můžeme zahrnout možnost --ignore-existing:

rsync -av --ignore-existing Documents/* [email :~/all/

Následně, abychom synchronizovali pouze aktualizované nebo upravené soubory na vzdáleném počítači, které se změnily na místním počítači, můžeme před zkopírováním souborů provést suchý běh, jak je uvedeno níže:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Chcete-li aktualizovat stávající soubory a zabránit vytváření nových souborů v cíli, používáme možnost --existing.

Můžete projít stránku man rsync a objevit další užitečné možnosti pro pokročilé použití, jak jsem již zmínil, rsync je velmi výkonný a všestranný nástroj Linux a mnoho systémových Administrátoři a pokročilí uživatelé Linuxu vědí, jak je to výhodné.

A co je nejdůležitější, můžete se také podělit o svůj názor na příklady, které jsme zde probrali, nebo ještě lépe, nabídnout nám cenné tipy k používání tohoto důležitého nástroje příkazového řádku prostřednictvím sekce komentářů níže.