Ako vylúčiť súbory z Rsync

Obsah:

Ako vylúčiť súbory z Rsync
Ako vylúčiť súbory z Rsync

Video: Ako vylúčiť súbory z Rsync

Video: Ako vylúčiť súbory z Rsync
Video: TOP 10 Počítačové lifehacky, které vám usnadní život - YouTube 2024, Apríl
Anonim
Image
Image

Rsync je jedným z najužitočnejších nástrojov pre správcu servera, ale synchronizuje savšetko čo môže byť nepríjemné, ak vaša aplikácia vytvára veľa dočasných súborov. Tu je postup, ako vylúčiť súbory pri používaní rsync.

Vylúčenie zo zoznamu v súbore

Ide o ideálnu metódu na vylúčenie súborov a priečinkov, pretože vždy môžete upravovať zoznam a vylepšiť veci, ak je to potrebné. Tu je syntax:

rsync - -exclude-from=/path/to/exclusion-file /path/to/source /path/to/dest

Zložitá vec s rsync je, že musíte použiť relatívnu cestu, keď sa pokúšate vylúčiť veci, pretože keď sa pokúsi vyrovnať s vylúčením, nebude používať prvú časť cesty pre zápas … je to divné.

Povedzme napríklad, že sa pokúšate zálohovať / dáta / web / a posielať ho na iný server, takže môžete použiť príkaz ako rsync -a / data / web / user @ server: / backups / data / web / stalo sa … ale naozaj by ste chceli preskočiť synchronizáciu priečinka / data / web / cache /. Keď rsync prejde kontrolou vášho zoznamu vylúčení pre každú položku, ktorú synchronizuje, nebude kontrolovať / data / web / cache /, pretože pôvodný príkaz rsync je založený na priečinku / data / web /. Stačí skontrolovať zoznam "cache /". Takže budete musieť vložiť "cache" do zoznamu, nie úplnú cestu. Príklad:

rsync -a --exclude-from=/data/exclusions /data/web/ /backups/

Teraz s použitím tohto príkazu vylúčime / data / web / cache a / data / web / temp z rsync, odstránili by sme / data / web / časť cesty a súbor / data /

cache* temp*

Všimnite si, že som pridal * do cesty, aby sa ubezpečil, že to zodpovedá všetkým, čo začína na "cache" na začiatku. Môžete použiť tento vzor hviezdy z dôležitých dôvodov, ak ste chceli - povedzme, že chcete vylúčiť synchronizáciu všetkých súborov.txt. Začali ste vzor s hviezdou, aby ste sa uistili, že sa vždy zhoduje a pridajte toto:

*.txt

To by zabezpečilo, že tieto typy súborov budú počas synchronizácie preskočené. Je to dosť jednoduché.

Bez jednej položky

Táto technika je oveľa menej užitočná, ale môžete ju používať aj v prípade, že potrebujete. Ak nastavujete skript na používanie rsync, ktorý sa zvyčajne nachádza, mali by ste namiesto toho minúť ďalšiu minútu, aby ste vylúčili zo zoznamu súborov, aby ste uľahčili budúcu údržbu. Syntax je veľmi podobný:

rsync --exclude=relative/path/to/exclusion /source /dest

Rovnaká relatívna cesta by mala platiť tu ako vyššie.

Odporúča: