Sådan udelades filer fra Rsync
Rsync er en af de mest nyttige værktøjer til en serveradministrator, men den synkroniserer alt som standard, hvilket kan være irriterende, hvis din ansøgning opretter mange midlertidige filer. Sådan udelukker du filer, når du bruger rsync.
Ekskluderende 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 --udelukke-fra = / sti / til / eksklusion-fil / sti / til / kilde / sti / til / dest
Den vanskelige ting med rsync er, at du skal bruge en relativ sti, når du forsøger at udelukke ting, fordi når det forsøger at matche eksklusionerne, vil det ikke bruge den første del af stien til kampen ... det er mærkeligt.
Sig for eksempel, at du forsøger at sikkerhedskopiere / data / web / og sende det til en anden server, så du bruger en kommando som rsync -a / data / web / user @ server: / backups / data / web / for at gøre det ske ... men du vil virkelig gerne springe over med at synkronisere / data / web / cache / mappe. Når rsync går for at kontrollere din udelukkelsesliste for hvert emne, som den synkroniserer, vil den ikke kontrollere / data / web / cache / da din oprindelige rsync-kommando er baseret i / data / web / mappe. 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-from = / data / eksklusioner / 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 / del af stien, og filen / data / eksklusionerne vil simpelthen indeholde dette:
cache * temp *
Du vil bemærke, at jeg tilføjede * i stien for at sikre, at den matcher alt, der starter med "cache" i begyndelsen. 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:
* .txt
Det 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å flugt, 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 = relativ / sti / til / udelukkelse / kilde / dest
Den samme relative sti skal gælde her som ovenfor.