rsync

Sådan udelukkes Directory Rsync?

Sådan udelukkes Directory Rsync?
Rsync (står for remote sync) er et meget kraftfuldt kommandolinjeprogram til lokal og ekstern synkronisering af fil- og katalogmapper. Det kommer forudinstalleret på de fleste Linux-distributioner. Det er et af de bedste værktøjer til sikkerhedskopiering og opbevaring af filer og mapper på flere steder synkroniseret. Det bedste ved rsync er, at det minimerer mængden af ​​data, der kopieres til den eksterne placering ved kun at kopiere de data, der er blevet ændret. Der er et andet stort træk ved rsync, som vi skal diskutere i dag; det ekskluderer filer eller mapper fra synkronisering. Dette er ekstremt nyttigt under sikkerhedskopier, når du ikke vil kopiere en eller flere filer eller mapper.

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 = eller -min-størrelse == valgmuligheder baseret på henholdsvis maksimum og minimumsstørrelse.

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.

Mus Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Xdotool er et gratis og open source kommandolinjeværktøj til simulering af museklik og tastetryk. Denne artikel dækker en kort vejledning om brug af x...
Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...