Vi vil vise deg hvordan du kan ekskludere en fil eller katalog i Rsync ved hjelp av forskjellige eksempler. Eksemplene presentert her er testet på Ubuntu 20.04 LTS, men disse er også gyldige for andre Linux -distribusjoner som har RSYNC installert.
Ekskluder en bestemt fil
Mens du synkroniserer en katalog, kan det være lurt å ekskludere en bestemt fil som ligger inne i den. Du kan gjøre det ved å bruke alternativet -exclude etterfulgt av filnavnet vedlagt i komma.
Kommandoenes syntaks vil være:
$ rsync -a -exclude 'file_name' source_directory/ destination_directory/Her, en Alternativet brukes til rekursiv synkronisering.
For eksempel å ekskludere en fil som heter prøve.tekst fra kilden når du synkroniseres src_dir og dest_dir, Kommandoen ville være:
$ rsync -a -exclude 'prøve.txt 'src_dir/ dest_dir/Ekskluder en spesifikk katalog
For å ekskludere en spesifikk katalog (inkludert underkatalogene) fra kilden når du synkroniserer kilden og destinasjonskatalogene, bruker du følgende syntaks:
$ rsync -a -exclude 'katalog_navn' src_dir/ dest_dir/For eksempel å ekskludere en katalog som heter sampledir Når du synkroniserer src_dir og dest_dir, Kommandoen ville være:
$ rsync -a -exclude 'sampledir' src_dir/ dest_dir/Hvis du vil ekskludere innholdet i katalogen, men ikke selve katalogen, kan du bruke katalognavnet etterfulgt av /*:
$ rsync -a -exclude 'sampledir/*' src_dir/ dest_dir/Kommandoen ovenfor vil bare kopiere katalogen til destinasjonen, men ikke innholdet.
Ekskludere flere filer eller kataloger
For å ekskludere flere filer eller kataloger under synkroniseringsprosessen, spesifiser hver av dem som følger:
$ rsync -a -exclude 'file_name' -exclude 'katalog1 -exclude' katalog2 'src_dir/ dest_dir/I stedet for å spesifisere -utelukke Alternativ separat for hver fil eller katalog, kan du bruke en enkelt -utelukke Alternativ ved å spesifisere alle filene eller katalogene i krøllete parenteser.
$ rsync -a -exclude = 'file_name', 'Directory1', 'Directory2' src_dir/ dest_dir/Et annet alternativ for å ekskludere flere filer eller kataloger er ved å oppgi dem i en fil og deretter sende filnavnet til -ekskludere-fra alternativ:
$ rsync -a -exclude -fra 'liste' SRC_DIR/ DEST_DIR/Her inneholder "listen" fil- og katalogenavnet som vi vil ekskludere. Denne kommandoen synkroniseres SRC_DIR til DEST_DIR mens du ekskluderer filene og katalogene som er nevnt i "listen" -filen.
Ekskludere filer eller kataloger som samsvarer med et mønster
Med Rsync kan du også ekskludere filer eller kataloger som samsvarer med et spesifikt mønster. For eksempel, mens du synkroniserer en katalog, kan det være lurt å ekskludere alle filer som slutter med en .tekst Utvidelse. Kommandoen ville i dette tilfellet være:
$ rsync -a -exclude '*.txt 'src_dir/ dest_dir/Ekskluder en fil etter størrelse
Med Rsync kan du ekskludere filer basert på deres minimums- eller maksimumsstørrelse. Her vil vi ikke bruke -exclude -alternativet, men -max -størrelse = eller -min -størrelse == alternativer basert på henholdsvis maksimal og minimumsstørrelse.
Her er oppføringen av vår src_dir som viser filnavn sammen med størrelsene i MB.
La oss si at vi vil synkronisere alle filene til dest_dir bortsett fra de med en størrelse større enn 100MB. I dette tilfellet ville kommandoen være:
$ rsync -av -max -size = 100m src_dir/ dest_dir/Tilsvarende, for å ekskludere filer som er mindre enn en bestemt størrelse, la oss si 50 MB, ville kommandoen være:
$ rsync -av -min -størrelse = 50m src_dir/ dest_dir/Konklusjon
Det er alt det er for det! I dette innlegget har vi diskutert forskjellige eksempler for å ekskludere en fil eller en katalog i Rsync. Vi har vist hvordan vi skal ekskludere en enkelt fil eller katalog, flere filer og kataloger, filer som samsvarer med et spesifikt mønster, og filene basert på deres minste/maksimale størrelser.