27Jun

Kako izuzeti datoteke iz Rsynca

Rsync je jedan od najkorisnijih uslužnih programa za administratora poslužitelja, ali ga standardno sinkronizira , što može biti neugodno ako aplikacija stvara mnogo privremenih datoteka. Evo kako izuzeti datoteke kada koristite rsync.

Izuzevši s popisa u datoteci

Ovo je idealna metoda za isključivanje datoteka i mapa, budući da uvijek možete urediti popis i prilagoditi stvari ako je potrebno. Ovdje je sintaksa:

rsync - izuzeti-od = /path/to/ isključivanje-datoteku /path/to/ izvor /path/to/ dest

Zanimljiv stvar s rsync je da trebate koristiti relativnu stazu kada pokušavate isključiti stvari, jer kada to pokušavapodudaraju se s isključenjima koja neće koristiti prvi dio staze za utakmicu. .. to je čudno.

Recimo, primjerice, pokušavate sigurnosno kopirati /data/web/ i poslati ga na drugi poslužitelj, tako da koristite naredbu kao što je rsync -a /data/web/ user @ server: /backups/data/web/ da bi se to dogodilo. .. ali biste stvarno htjeli preskočiti sinkronizaciju /data/web/cache/mapa. Kada rsync ode provjeriti popis izuzimanja za svaku stavku koja se sinkronizira, neće provjeriti /data/web/cache/ jer se izvorna naredba rsync temelji na /data/web/ mapi. Jednostavno će provjeriti "cache /" na popisu. Dakle, morat ćete staviti "predmemoriju" na popis, a ne cijeli put. Primjer:

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

Da biste isključili /data/web/ predmemoriju i /data/web/ temperaturu iz rsynca pomoću ove naredbe, uklonit ćemo /data/web/ dio puta, a datoteka za isključivanje /data/ jednostavno sadrži sljedeće:

cache * temp *

Imajte na umu da sam dodao * na put, kako bi se osiguralo da odgovara onome što počinje s "cache" na početku. Ako želite, upotrijebite ovaj uzorak zvijezda iz više korisnih razloga - recimo da želite izuzeti sinkronizaciju svih. txt datoteka. Pokrenuli biste uzorak sa zvjezdicom kako biste bili sigurni da se uvijek podudaraju i dodajte ovo:

*. txt

To će osigurati da te vrste datoteka preskoče tijekom sinkronizacije. To je prilično jednostavno iza toga.

Izuzimanje pojedinačne stavke

Ova tehnika je mnogo manje korisna, ali možete ga koristiti ako želite. Ako postavljate skriptu za upotrebu rsynca, što obično jeste, trebali biste uzeti dodatnu minutu da biste ga izuzeli s popisa datoteka kako biste olakšali buduće održavanje. Sintaksa je vrlo slična:

rsync --exclude = relativno /path/to/ isključenje / izvor / dest

Isti relativni put treba ovdje primjenjivati ​​kao gore.