Ukážeme vám, ako môžete vylúčiť súbor alebo adresár v rsync na rôznych príkladoch. Tu uvedené príklady boli testované na Ubuntu 20.04 LTS, sú však platné aj pre iné distribúcie Linuxu s nainštalovaným rsync.
Vylúčte konkrétny súbor
Počas synchronizácie adresára možno budete chcieť vylúčiť konkrétny súbor, ktorý sa v ňom nachádza. Môžete to urobiť pomocou možnosti -exclude, za ktorou nasleduje názov súboru uzavretý čiarkami.
Syntax príkazu bude:
$ rsync -a - vylúčiť 'názov_súboru' zdrojový_adresár / cieľový_adresár /Tu, a možnosť sa používa na rekurzívnu synchronizáciu.
Napríklad na vylúčenie súboru s názvom vzorka.TXT pri synchronizácii zo zdroja src_dir a cieľový_adresár, príkaz by bol:
$ rsync -a --exclude 'vzorka.txt 'src_dir / dest_dir /
Vylúčte konkrétny adresár
Ak chcete pri synchronizácii zdrojového a cieľového adresára vylúčiť zo zdroja konkrétny adresár (vrátane jeho podadresárov), použite nasledujúcu syntax:
$ rsync -a - vylúčiť 'názov_adresára' src_dir / cieľový_adresár /Napríklad na vylúčenie adresára s názvom sampledir pri synchronizácii src_dir a cieľový_adresár, príkaz by bol:
$ rsync -a --exclude 'sampledir' src_dir / dest_dir /
Ak chcete vylúčiť obsah adresára, ale nie samotný adresár, použite názov adresára nasledovaný znakom / *:
$ rsync -a --exclude 'sampledir / *' src_dir / dest_dir /Vyššie uvedený príkaz skopíruje iba adresár do cieľového miesta, ale nie jeho obsah.
Vylúčte viac súborov alebo adresárov
Ak chcete počas procesu synchronizácie vylúčiť viac súborov alebo adresárov, zadajte každý z nich takto:
$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude' directory2 'src_dir / dest_dir /
Namiesto konkretizácie -vylúčiť možnosť osobitne pre každý súbor alebo adresár, môžete použiť jeden -vylúčiť voľbou zadaním všetkých súborov alebo adresárov v zložených zátvorkách.
$ rsync -a --exclude = 'názov_súboru', 'adresár1', 'adresár2' src_dir / cieľový_adresár /
Ďalšou možnosťou na vylúčenie viacerých súborov alebo adresárov je ich zaradenie do súboru a následné odovzdanie názvu súboru -vylúčiť-z možnosť:
$ rsync -a --exclude-from 'list' src_dir / dest_dir /Tu obsahuje zoznam zoznam súborov a adresárov, ktoré chceme vylúčiť. Tento príkaz synchronizuje src_dir s dest_dir, pričom vylučuje súbory a adresáre uvedené v súbore „list“.
Vylúčte súbory alebo adresáre, ktoré zodpovedajú vzoru
Pomocou programu rsync môžete tiež vylúčiť súbory alebo adresáre, ktoré zodpovedajú konkrétnemu vzoru. Napríklad počas synchronizácie adresára môžete vylúčiť všetky súbory končiace sa na .TXT predĺženie. Príkaz by v tomto prípade bol:
$ rsync -a --exclude '*.txt 'src_dir / dest_dir /
Vylúčte súbor podľa veľkosti
Pomocou rsync môžete vylúčiť súbory na základe ich minimálnej alebo maximálnej veľkosti. Tu nebudeme používať voľbu -exclude, ale -max-size =
Tu je zoznam našich src_dir ktorý zobrazuje názvy súborov spolu s ich veľkosťami v MB.
Povedzme, že chceme synchronizovať všetky súbory do cieľového_adresára okrem tých, ktoré majú veľkosť väčšiu ako 100 MB. V takom prípade by išlo o príkaz:
$ rsync -av --max-size = 100m src_dir / dest_dir /
Podobne, aby sme vylúčili súbory, ktoré sú menšie ako konkrétna veľkosť, povedzme 50 MB, bude príkaz vyzerať takto:
$ rsync -av --min-size = 50m src_dir / dest_dir /Záver
To je všetko! V tomto príspevku sme diskutovali o rôznych príkladoch vylúčenia súboru alebo adresára v rsync. Ukázali sme, ako vylúčiť jeden súbor alebo adresár, viac súborov a adresárov, súbory, ktoré zodpovedajú konkrétnemu vzoru, a súbory na základe ich minimálnej / maximálnej veľkosti.