rsync

Cum se exclude Directory Rsync?

Cum se exclude Directory Rsync?
Rsync (înseamnă sincronizare la distanță) este un utilitar de linie de comandă foarte puternic pentru sincronizarea fișierelor și directoarelor locale și la distanță. Vine preinstalat pe majoritatea distribuțiilor Linux. Este unul dintre cele mai bune utilitare pentru backup și păstrarea sincronizată a fișierelor și directoarelor în mai multe locații. Cea mai bună parte a rsync este că minimizează cantitatea de date care este copiată la locația la distanță, doar copiind datele care au fost modificate. Există o altă caracteristică excelentă a rsync pe care o vom discuta astăzi; exclude fișierele sau directoarele din sincronizare. Acest lucru este extrem de util în timpul copiilor de rezervă atunci când nu doriți să copiați unul sau mai multe fișiere sau directoare.

Vă vom arăta cum puteți exclude un fișier sau un director în rsync folosind diferite exemple. Exemplele prezentate aici au fost testate pe Ubuntu 20.04 LTS, totuși, acestea sunt valabile și pentru alte distribuții Linux cu rsync instalat.

Excludeți un fișier specific

În timp ce sincronizați un director, poate doriți să excludeți un anumit fișier situat în interiorul acestuia. Puteți face acest lucru folosind opțiunea -exclude urmată de numele de fișier inclus în virgule.

Sintaxa comenzii va fi:

$ rsync -a --exclude 'file_name' directory_source / destination_directory /

Aici, A opțiunea este utilizată pentru sincronizarea recursivă.

De exemplu, pentru a exclude un fișier numit probă.txt de la sursă la sincronizare src_dir și dest_dir, comanda ar fi:

$ rsync -a --exclude 'eșantion.txt 'src_dir / dest_dir /

Excludeți un director specific

Pentru a exclude un anumit director (inclusiv subdirectoarele sale) din sursă la sincronizarea directoarelor sursă și destinație, utilizați următoarea sintaxă:

$ rsync -a --exclude 'director_name' src_dir / dest_dir /

De exemplu, pentru a exclude un director numit sampledir la sincronizarea src_dir și dest_dir, comanda ar fi:

$ rsync -a --exclude 'sampledir' src_dir / dest_dir /

Dacă doriți să excludeți conținutul directorului, dar nu și directorul în sine, utilizați numele directorului urmat de / *:

$ rsync -a --exclude 'sampledir / *' src_dir / dest_dir /

Comanda de mai sus va copia directorul doar la destinație, dar nu și conținutul acestuia.

Excludeți mai multe fișiere sau directoare

Pentru a exclude mai multe fișiere sau directoare în timpul procesului de sincronizare, specificați fiecare dintre acestea după cum urmează:

$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude' directory2 'src_dir / dest_dir /

În loc să specificăm -exclude opțiune separată pentru fiecare fișier sau director, puteți utiliza un singur -exclude opțiune specificând toate fișierele sau directoarele între paranteze.

$ rsync -a --exclude = 'file_name', 'directory1', 'directory2' src_dir / dest_dir /

O altă opțiune pentru a exclude mai multe fișiere sau directoare este prin listarea lor într-un fișier și apoi trecerea numelui fișierului la -exclude-din opțiune:

$ rsync -a --exclude-from 'list' src_dir / dest_dir /

Aici, „lista” conține numele fișierului și al directoarelor pe care dorim să le excludem. Această comandă sincronizează src_dir cu dest_dir excluzând fișierele și directoarele menționate în fișierul „listă”.

Excludeți fișiere sau directoare care se potrivesc cu un model

Cu rsync, puteți exclude și fișiere sau directoare care se potrivesc cu un anumit model. De exemplu, în timp ce sincronizați un director, poate doriți să excludeți toate fișierele care se termină cu a .txt extensie. Comanda, în acest caz, ar fi:

$ rsync -a --exclude '*.txt 'src_dir / dest_dir /

Excludeți un fișier după dimensiune

Cu rsync, puteți exclude fișierele în funcție de dimensiunea minimă sau maximă a acestora. Aici, nu vom folosi opțiunea -exclude, ci -max-size = sau -min-size == opțiuni bazate pe dimensiunea maximă și, respectiv, minimă.

Iată lista listei noastre src_dir care afișează numele fișierelor împreună cu dimensiunile lor în MB.

Să presupunem că vrem să sincronizăm toate fișierele cu dest_dir, cu excepția celor cu o dimensiune mai mare de 100 MB. În acest caz, comanda ar fi:

$ rsync -av --max-size = 100m src_dir / dest_dir /

În mod similar, pentru a exclude fișierele care sunt mai mici decât o anumită dimensiune, să presupunem 50 MB, comanda ar fi:

$ rsync -av --min-size = 50m src_dir / dest_dir /

Concluzie

Asta este tot ce există! În acest post, am discutat diferite exemple pentru a exclude un fișier sau un director în rsync. Am arătat cum să excludem un singur fișier sau director, mai multe fișiere și directoare, fișiere care se potrivesc cu un anumit model și fișierele pe baza dimensiunilor lor minime / maxime.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...