27Jun

Cum să excludeți fișierele din Rsync

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/ dest

Lucru 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:

*. txt

Asta 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ă / dest

Aceeași cale relativă ar trebui să se aplice aici ca mai sus.