Kako isključiti datoteke iz Rsync
Rsync je jedan od najkorisnijih alata za administratora poslužitelja, ali se sinkronizira sve prema zadanim postavkama, što može biti neugodno ako vaša aplikacija stvara mnogo privremenih datoteka. Evo kako izuzeti datoteke kada koristite rsync.
Isključivanje s popisa u datoteci
To je idealan način za isključivanje datoteka i mapa, jer uvijek možete urediti popis i podesiti stvari ako je potrebno. Ovdje je sintaksa:
rsync --isključuje-od = / put / do / isključenje-datoteku / put / do / izvor / put / do / dest
Loša stvar kod rsync-a je da trebate koristiti relativni put kada pokušavate izuzeti stvari, jer kada pokuša uskladiti izuzimanja, neće koristiti prvi dio puta za utakmicu ... to je čudno.
Recimo, na primjer, pokušavate izraditi sigurnosnu kopiju / data / web / i poslati je na drugi poslužitelj, tako da koristite naredbu kao što je rsync -a / data / web / user @ server: / backups / data / web / dogoditi se… ali stvarno biste željeli preskočiti sinkronizaciju mape / data / web / cache /. Kada rsync ode na provjeru popisa isključenja za svaku stavku koju sinkronizira, neće provjeriti / data / web / cache / jer se vaša izvorna rsync naredba temelji na mapi / data / web /. To će samo označiti "cache /" na popisu. Tako ćete morati staviti “cache” u popis, a ne cijeli put. Primjer:
rsync -a --exclude-from = / data / exclusion / data / web / / backups /
Sada kako bismo iz ove naredbe isključili / data / web / cache i / data / web / temp iz rsync, uklonili bismo / data / web / dio staze, a datoteka / data / exclusion jednostavno bi sadržavala sljedeće:
cache * temp *
Primijetit ćete da sam dodao * u stazu, kako bih bio siguran da na početku odgovara svemu što počinje s “cache”. Ovaj obrazac zvijezda možete koristiti za više korisnih razloga ako želite - recimo da želite izuzeti sve .txt datoteke od sinkronizacije. Započeli biste uzorak sa zvjezdicom kako biste bili sigurni da se uvijek podudara, i dodajte ovo:
* .txt
To bi osiguralo da se te vrste datoteka preskoče tijekom sinkronizacije. To je prilično jednostavno.
Isključivanje jedne stavke
Ova tehnika je mnogo manje korisna, ali je možete koristiti u hodu ako trebate. Ako postavljate skriptu da biste koristili rsync, što obično jeste, trebali biste uzeti dodatnu minutu kako biste iz popisa datoteka izuzeli, kako bi se olakšalo buduće održavanje. Sintaksa je vrlo slična:
rsync --exclude = relativna / put / do / isključenje / izvor / odredište
Isti relativni put treba primijeniti ovdje kao gore.