27Jun

Ako vylúčiť súbory z Rsync

Rsync je jedným z najužitočnejších nástrojov pre správcu servera, ale štandardne synchronizuje vš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žití rsync.

Vylúčenie zo zoznamu v súbore

Toto je ideálna metóda na vylúčenie súborov a priečinkov, pretože v prípade potreby môžete zoznam upraviť a vylepšiť.Tu je syntax:

rsync --exclude-from = /path/to/ vylúčenie-súbor /path/to/ zdroj /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úsizodpovedá vylúčením, nepoužije prvú časť cesty pre zápas. .. je to divné.

Povedzme napríklad, že sa pokúšate zálohovať /data/web/ a poslať ho na iný server, takže použite príkaz ako rsync -a /data/web/ user @ server: /backups/data/web/, aby sa to stalo. .. ale naozaj by ste chceli preskočiť synchronizáciu /data/web/cache/zložky. Keď rsync prejde skontrolovať zoznam vylúčení pre každú položku, ktorú synchronizuje, nekontroluje /data/web/cache/, pretože pôvodný príkaz rsync je založený v 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/ vylúčenia /data/web/ /backups/

Teraz vylúčiť /data/web/ cache a /data/web/ temp z rsync pomocou tohto príkazu by sme odstrániť /data/web/ časť cesty a súbor vylúčení /data/ by jednoducho obsahoval toto:

cache * temp *

Budete mať na pamäti, že som pridal * do cesty, aby sa ubezpečil, že to zodpovedá všetkým, čo začína s "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 ubezpečili, že sa vždy zhoduje a pridajte toto:

*. txt

Týmto sa zabezpečí, že tieto typy súborov budú počas synchronizácie preskočené.Je to dosť jednoduché.

Vylúčenie jedinej položky

Táto technika je oveľa menej užitočná, ale môžete ju použiť, ak 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 = relatívna /path/to/ vylúčenie / zdroj / dest

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