rsync

Jak vyloučit Directory Rsync?

Jak vyloučit Directory Rsync?
Rsync (zkratka pro vzdálenou synchronizaci) je velmi výkonný nástroj příkazového řádku pro synchronizaci místních a vzdálených souborů a adresářů. Je dodáván předinstalovaný na většině distribucí Linuxu. Je to jeden z nejlepších nástrojů pro zálohování a synchronizaci souborů a adresářů na více místech. Nejlepší část o rsync je, že minimalizuje množství dat zkopírovaných do vzdáleného umístění pouze kopírováním dat, která byla změněna. Existuje další skvělá vlastnost rsync, o které dnes budeme diskutovat; vylučuje synchronizaci souborů nebo adresářů. To je mimořádně užitečné během zálohování, pokud nechcete kopírovat jeden nebo více souborů nebo adresářů.

Ukážeme vám, jak můžete vyloučit soubor nebo adresář v rsync pomocí různých příkladů. Zde uvedené příklady byly testovány na Ubuntu 20.04 LTS, jsou však platné i pro jiné distribuce Linuxu s nainstalovaným rsync.

Vyloučit konkrétní soubor

Při synchronizaci adresáře možná budete chtít vyloučit konkrétní soubor, který se v něm nachází. Můžete tak učinit pomocí volby -exclude následované názvem souboru uzavřeným v čárkách.

Syntaxe příkazu bude:

$ rsync -a --exclude 'file_name' source_directory / destination_directory /

Tady, A volba se používá pro rekurzivní synchronizaci.

Například k vyloučení souboru s názvem vzorek.txt při synchronizaci ze zdroje src_dir a dest_dir, příkaz by byl:

$ rsync -a --exclude 'vzorek.txt 'src_dir / dest_dir /

Vyloučit konkrétní adresář

Chcete-li při synchronizaci zdrojového a cílového adresáře vyloučit ze zdroje konkrétní adresář (včetně jeho podadresářů), použijte následující syntaxi:

$ rsync -a --exclude 'directory_name' src_dir / dest_dir /

Například k vyloučení adresáře s názvem sampledir při synchronizaci src_dir a dest_dir, příkaz by byl:

$ rsync -a --exclude 'sampledir' src_dir / dest_dir /

Pokud chcete vyloučit obsah adresáře, ale ne samotný adresář, použijte název adresáře následovaný / *:

$ rsync -a --exclude 'sampledir / *' src_dir / dest_dir /

Výše uvedený příkaz zkopíruje pouze adresář do cíle, ale ne jeho obsah.

Vyloučit více souborů nebo adresářů

Chcete-li během procesu synchronizace vyloučit více souborů nebo adresářů, zadejte každý z nich následujícím způsobem:

$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude' directory2 'src_dir / dest_dir /

Místo upřesnění -vyloučit možnost samostatně pro každý soubor nebo adresář, můžete použít jeden -vyloučit možnost zadáním všech souborů nebo adresářů ve složených závorkách.

$ rsync -a --exclude = 'název_souboru', 'adresář1', 'adresář2' src_dir / dest_dir /

Další možností, jak vyloučit více souborů nebo adresářů, je vypsat je do souboru a poté předat název souboru -vyloučit z volba:

$ rsync -a --exclude-from 'list' src_dir / dest_dir /

Zde seznam obsahuje název souboru a adresáře, který chceme vyloučit. Tento příkaz synchronizuje src_dir s dest_dir, přičemž vylučuje soubory a adresáře uvedené v souboru „list“.

Vyloučte soubory nebo adresáře, které odpovídají vzoru

Pomocí rsync můžete také vyloučit soubory nebo adresáře, které odpovídají konkrétnímu vzoru. Například při synchronizaci adresáře možná budete chtít vyloučit všechny soubory končící na .txt rozšíření. Příkaz by v tomto případě byl:

$ rsync -a --exclude '*.txt 'src_dir / dest_dir /

Vyloučit soubor podle velikosti

Pomocí rsync můžete vyloučit soubory na základě jejich minimální nebo maximální velikosti. Zde nebudeme používat volbu -exclude, ale -max-size = nebo -min-size == možnosti založené na maximální a minimální velikosti.

Zde je seznam našich src_dir který zobrazuje názvy souborů spolu s jejich velikostmi v MB.

Řekněme, že chceme synchronizovat všechny soubory do dest_dir kromě těch, jejichž velikost je větší než 100 MB. V tomto případě by to byl příkaz:

$ rsync -av --max-size = 100m src_dir / dest_dir /

Podobně k vyloučení souborů, které jsou menší než určitá velikost, řekněme 50 MB, by příkaz vypadal takto:

$ rsync -av --min-size = 50m src_dir / dest_dir /

Závěr

To je vše! V tomto příspěvku jsme diskutovali různé příklady vyloučení souboru nebo adresáře v rsync. Ukázali jsme, jak vyloučit jeden soubor nebo adresář, více souborů a adresářů, soubory, které odpovídají konkrétnímu vzoru, a soubory na základě jejich minimální / maximální velikosti.

Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...
Hry 0 A.D. Tutorial
0 A.D. Tutorial
Z mnoha strategických her venku je 0 A.D. dokáže vyniknout jako komplexní titul a velmi hluboká, taktická hra, přestože je otevřeným zdrojem. Vývoj hr...