27Jun
Rsync er en af de mest nyttige værktøjer til en serveradministrator, men det synkroniserer alt som standard, hvilket kan være irriterende, hvis din applikation skaber mange midlertidige filer. Sådan udelades du filer, når du bruger rsync.
Eksklusive fra en liste i en fil
Dette er den ideelle metode til at udelukke filer og mapper, da du altid kan redigere listen og justere ting om nødvendigt. Her er syntaxen:
rsync - eksclude-fra = /path/to/ udelukkelsesfil /path/to/ kilde /path/to/ destDen vanskelige ting med rsync er, at du skal bruge en relativ sti, når du forsøger at udelukke ting, for når det forsøger atmatch de udelukkelser, det ikke vil bruge den første del af stien til kampen. .. det er underligt.
Sig for eksempel at du forsøger at sikkerhedskopiere /data/web/ og sende den til en anden server, så du bruger en kommando som rsync-en /data/web/ user @ server: /backups/data/web/ for at få det til at ske. .. men du vil virkelig gerne springe over med at synkronisere /data/web/cache/folder. Når rsync går for at kontrollere din udelukkelsesliste for hvert element, som den synkroniserer, vil den ikke kontrollere /data/web/cache/, da din oprindelige rsync-kommando er baseret i /data/web/-mappen. Det vil bare tjekke "cache /" på listen. Så du bliver nødt til at sætte "cache" i listen, ikke den fulde sti. Eksempel:
rsync -a --exclude-fra = /data/-undtagelser /data/web/ /backups/For at udelukke /data/web/-cache og /data/web/ temp fra rsync ved hjælp af denne kommando, fjerner vi /data/web/-delen af stien, og /data/-eksklusionsfilen ville simpelthen indeholde dette:
cache * temp *Du skal bemærke, at jeg tilføjede * i stien for at sikre, at den matcher alt, der starter med "cache" i starten. Du kan bruge dette stjernemønster af mere nyttige grunde, hvis du vil - sig, du vil udelukke alle. txt-filer fra at blive synkroniseret. Du starter mønsteret med stjernen for at sikre, at det altid matcher, og tilføj dette:
*. txtDet ville sikre, at disse typer filer springes over under en synkronisering. Det er ret simpelt ud over det.
Eksklusive en enkelt vare
Denne teknik er meget mindre nyttig, men du kan bruge den på farten, hvis du har brug for det. Hvis du opretter et script til at bruge rsync, som du normalt er, skal du tage det ekstra minut for at udelukke fra en filliste i stedet for at gøre fremtidig vedligeholdelse nemmere. Syntaxen er meget ens:
rsync --exclude = relative /path/to/ udelukkelse / kilde / destDen samme relative sti skal gælde her som ovenfor.