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 významný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é čtení: 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 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.
Místní synchronizace souborů pomocí Rsync
Pomocí níže uvedeného příkazu budete moci kopírovat soubory z mých Dokumentů do adresáře /tmp/documents adresář lokálně:
$ rsync -av Documents/* /tmp/documents
V příkazu výše možnost:
-a
– znamená režim archivace-v
– znamená podrobný, zobrazující podrobnosti o probíhajících operacích
Ve výchozím nastavení rsync pouze zkopíruje nové nebo změněné soubory ze zdroje do cíle, když přidám nový soubor do Dokumentů adresář, toto se stane po druhém spuštění stejného příkazu:
$ 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é čtení: Jak synchronizovat dva webové servery/weby Apache pomocí Rsync
--update
nebo -u
možnost umožňuje rsync přeskočit soubory, které jsou v cílovém adresáři stále nové, a jednu důležitou 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 IP adresou – 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 --ignore-existing
možnost:
$ rsync -av --ignore-existing Documents/* [email protected]:~/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 protected]:~/all/ $ rsync -av --update Documents/* [email protected]:~/all/
K aktualizaci stávajících souborů a zabránění vytváření nových souborů v cíli používáme --existing
možnost.
Můžete spustit man rsync
jak jsem již zmínil dříve, rsync je velmi výkonný a všestranný nástroj pro Linux a mnoho správců systému a zkušených uživatelů Linuxu ví, 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.