27Jun
Rsync este una dintre cele mai utile utilitare pentru un administrator de server, dar sincronizează tot în mod implicit, ceea ce poate fi enervant dacă aplicația dvs. creează o mulțime de fișiere temporare. Iată cum să excludem fișierele când utilizați rsync.
Excluderea dintr-o listă într-un fișier
Aceasta este metoda ideală pentru excluderea fișierelor și a dosarelor, deoarece puteți oricând să editați lista și să modificați dacă este necesar. Aici este sintaxa:
rsync --exclude-from = /path/to/ fișier de excludere /path/to/ sursă /path/to/ destLucru dificil cu rsync este că trebuie să utilizați o cale relativă atunci când încercați să excludeți lucrurile, deoarece atunci când încearcă săse potrivesc cu excluderile pe care nu le va folosi prima parte a căii pentru meci. .. este ciudat.
Spune, de exemplu, că încercați să copiați /data/web/ și trimiteți-l la un alt server, deci utilizați o comandă precum rsync -a /data/web/ user @ server: /backups/data/web/ pentru a face loc. .. dar ați dori să săriți sincronizarea /data/web/cache/pliant. Când rsync merge pentru a verifica lista de excludere pentru fiecare element pe care îl sincronizează, acesta nu va verifica /data/web/cache/, deoarece comanda inițială rsync se bazează în directorul /data/web/.Va verifica doar "cache /" în listă.Deci, va trebui să puneți "cache" în listă, nu pe calea completă.Exemplu:
rsync -a - exclude-from = /data/ excluderi /data/web/ /backups/Acum, pentru a exclude cache-ul /data/web/ și /data/web/ temp din rsync folosind această comandă, eliminăm porțiunea /data/web/ a căii și fișierul /data/ exclude pur și simplu aceasta:
cache * temp *Veți observa că am adăugat * în cale, pentru a vă asigura că se potrivește cu tot ce începe cu "cache" la început. Puteți utiliza acest tip de stea pentru motive mai utile dacă doriți - spuneți că doriți să excludeți sincronizarea tuturor fișierelor. txt. Ați începe modelul cu steaua pentru a vă asigura că se potrivește întotdeauna și adăugați aceasta:
*. txtAsta ar asigura faptul că aceste tipuri de fișiere sunt sărite în timpul unei sincronizări. E destul de simplu dincolo de asta.
Excluzând un singur element
Această tehnică este mult mai puțin utilă, dar o puteți utiliza în zbor, dacă este necesar. Dacă configurați un script pentru a utiliza rsync, de obicei, ar trebui să luați minutul suplimentar pentru a exclude dintr-o listă de fișiere pentru a ușura întreținerea ulterioară.Sintaxa este foarte asemănătoare:
rsync --exclude = relativă /path/to/ excludere / sursă / destAceeași cale relativă ar trebui să se aplice aici ca mai sus.