27Jun

Kako izključiti datoteke iz Rsync

Rsync je ena od najbolj uporabnih pripomočkov za skrbnika strežnika, vendar pa privzeto sinhronizira vse , kar je lahko nadležno, če vaša aplikacija ustvari veliko začasnih datotek.Če želite izključiti datoteke, uporabite rsync.

Izključitev iz seznama v datoteki

To je idealna metoda za izključevanje datotek in map, ker lahko vedno uredite seznam in po potrebi potegnete stvari. Tukaj je sintaksa:

rsync --exclude-from = /path/to/ izključitvena datoteka /path/to/ izvor /path/to/ dest

Neizogibna stvar z rsync je, da morate uporabiti relativno pot, ko poskušate izključiti stvari, ker ko poskušase ujemajo z izključitvami, da ne bodo uporabljali prvega dela poti za tekmo. .. čudno je.

Recite, na primer, da poskušate varnostno kopirati /data/web/ in ga poslati drugemu strežniku, zato uporabite ukaz, kot je rsync -a /data/web/ user @ server: /backups/data/web/, da se to zgodi. .. vendar bi rad resnično želel preskočiti sinhronizacijo /data/web/cache/mapo. Ko rsync gre za preverjanje seznama izključitev za vsak element, ki ga sinhronizira, ne bo preveril /data/web/cache/, ker je vaš izvorni ukaz rsync zasnovan v mapi /data/web/.Preveril bo "cache /" na seznamu. Torej boste morali na seznam vstaviti »predpomnilnik« in ne celotno pot. Primer:

rsync -a -exclude-from = /data/ izključitve /data/web/ /backups/

Zdaj, da izključimo predpomnilnik /data/web/ in /data/web/ iz rsync z uporabo tega ukaza, odstranimo del poti /data/web/ poti in datoteko izključitev /data/ bi preprosto vsebovala to:

predpomnilnik * temp *

Opazili boste, da sem dodal * na pot, da se prepričam, ali se ujema z vsem, kar se začne z "predpomnilnikom" na začetku. Ta zvezdni vzorec lahko uporabite za bolj koristne razloge, če želite - recite, da želite izključiti vse datoteke. txt iz sinhronizacije. Začeli bi vzorec z zvezdico, da se prepričate, da se vedno ujema, in dodajte to:

*. txt

To bi zagotovilo, da se te vrste datotek preskočijo med sinhronizacijo. Precej je preprosto zunaj tega.

brez enote artikla

Ta tehnika je veliko manj uporabna, vendar jo lahko uporabite, če jo potrebujete.Če nastavljate skript za uporabo rsync, ki ste ga ponavadi, bi morali vzeti dodatno minuto, da bi jo iz seznama datotek izključili, da bi olajšali prihodnje vzdrževanje. Sintaksa je zelo podobna:

rsync --exclude = relativna /path/to/ izključitev / izvor / dest

Enako relativno pot bi morala veljati tukaj, kot je opisano zgoraj.