Vi viser dig, hvordan du kan ekskludere en fil eller mappe i rsync ved hjælp af forskellige eksempler. Eksemplerne præsenteret her er testet på Ubuntu 20.04 LTS er disse dog også gyldige for andre Linux-distributioner, der har rsync installeret.
Ekskluder en bestemt fil
Mens du synkroniserer en mappe, kan du ekskludere en bestemt fil inde i den. Du kan gøre det ved hjælp af indstillingen -exclude efterfulgt af filnavnet, der er lukket i kommaer.
Syntaksen for kommandoen vil være:
$ rsync -a - ekskluder 'filnavn' source_directory / destination_directory /Her, -en option bruges til rekursiv synkronisering.
For eksempel at udelukke en fil med navnet prøve.txt fra kilden ved synkronisering src_dir og dest_dir, kommandoen ville være:
$ rsync -a - ekskluder 'prøve.txt 'src_dir / dest_dir /
Ekskluder en bestemt mappe
Brug følgende syntaks for at ekskludere et bestemt bibliotek (inklusive dets underkataloger) fra kilden, når du synkroniserer kilden og destinationsmapperne:
$ rsync -a - ekskluder 'katalognavn' src_dir / dest_dir /For eksempel at ekskludere et navngivet bibliotek sampledir når du synkroniserer src_dir og dest_dir, kommandoen ville være:
$ rsync -a - ekskluder 'sampledir' src_dir / dest_dir /
Hvis du vil ekskludere indholdet af biblioteket, men ikke selve biblioteket, skal du bruge katalognavnet efterfulgt af / *:
$ rsync -a - ekskluder 'sampledir / *' src_dir / dest_dir /Ovenstående kommando kopierer kun biblioteket til destinationen, men ikke dets indhold.
Ekskluder flere filer eller kataloger
For at ekskludere flere filer eller mapper under synkroniseringsprocessen skal du angive hver af dem som følger:
$ rsync -a - ekskluder 'filnavn' - ekskluder 'katalog1 --ekskluder' katalog2 'src_dir / dest_dir /
I stedet for at specificere -udelukke valgmulighed separat for hver fil eller bibliotek, kan du bruge en enkelt -udelukke mulighed ved at angive alle filer eller mapper i krøllede parenteser.
$ rsync -a --exclude = 'file_name', 'directory1', 'directory2' src_dir / dest_dir /
En anden mulighed for at ekskludere flere filer eller mapper er ved at angive dem i en fil og derefter sende filnavnet til -udelukke-fra mulighed:
$ rsync -a - udelukke fra 'liste' src_dir / dest_dir /Her indeholder "listen" det fil- og katalognavn, som vi vil ekskludere. Denne kommando synkroniserer src_dir med dest_dir mens den ekskluderer de filer og mapper, der er nævnt i "liste" -filen.
Ekskluder filer eller kataloger, der matcher et mønster
Med rsync kan du også ekskludere filer eller mapper, der matcher et bestemt mønster. For eksempel, mens du synkroniserer en mappe, kan du ekskludere alle filer, der slutter med en .txt udvidelse. Kommandoen, i dette tilfælde, ville være:
$ rsync -a - ekskluder '*.txt 'src_dir / dest_dir /
Ekskluder en fil efter størrelse
Med rsync kan du ekskludere filer baseret på deres mindste eller maksimale størrelse. Her bruger vi ikke -exclude-indstillingen, men -max-size =
Her er listen over vores src_dir som viser filnavne sammen med deres størrelser i MB.
Lad os sige, at vi vil synkronisere alle filerne til dest_dir undtagen dem med en størrelse større end 100 MB. I dette tilfælde vil kommandoen være:
$ rsync -av --max-størrelse = 100m src_dir / dest_dir /
På samme måde, for at udelukke filer, der er mindre end en bestemt størrelse, lad os sige 50 MB, ville kommandoen være:
$ rsync -av --min-size = 50m src_dir / dest_dir /Konklusion
Det er alt der er ved det! I dette indlæg har vi diskuteret forskellige eksempler for at udelukke en fil eller en mappe i rsync. Vi har vist, hvordan man ekskluderer en enkelt fil eller mappe, flere filer og mapper, filer, der matcher et bestemt mønster, og filerne baseret på deres mindste / maksimale størrelse.