rsync

Hur man utesluter katalog Rsync?

Hur man utesluter katalog Rsync?
Rsync (står för fjärrsynkronisering) är ett mycket kraftfullt kommandoradsverktyg för lokal och fjärrfilssynkronisering. Den kommer förinstallerad på de flesta Linux-distributioner. Det är ett av de bästa verktygen för säkerhetskopiering och förvaring av filer och kataloger på flera platser synkroniserade. Det bästa med rsync är att det minimerar mängden data som kopieras till fjärrplatsen genom att bara kopiera data som har ändrats. Det finns ett annat fantastiskt inslag i rsync som vi ska diskutera idag; det exkluderar filer eller kataloger från synkronisering. Detta är extremt användbart vid säkerhetskopior när du inte vill kopiera en eller flera filer eller kataloger.

Vi visar dig hur du kan exkludera en fil eller katalog i rsync med hjälp av olika exempel. Exemplen som presenteras här har testats på Ubuntu 20.04 LTS, men dessa gäller också för andra Linux-distributioner som har rsync installerat.

Uteslut en specifik fil

När du synkroniserar en katalog kanske du vill utesluta en specifik fil i den. Du kan göra det med alternativet -exclude följt av filnamnet i kommatecken.

Syntaxen för kommandot kommer att vara:

$ rsync -a --exkludera 'filnamn' källkatalog / destination_katalog /

Här, a alternativet används för rekursiv synkronisering.

Till exempel för att utesluta en fil med namnet prov.Text från källan vid synkronisering src_dir och dest_dir, kommandot skulle vara:

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

Uteslut en specifik katalog

För att utesluta en specifik katalog (inklusive dess underkataloger) från källan när du synkroniserar källan och målkatalogerna, använd följande syntax:

$ rsync -a --exkludera 'katalognamn' src_dir / dest_dir /

Till exempel för att utesluta en katalog som heter sampladir när du synkroniserar src_dir och dest_dir, kommandot skulle vara:

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

Om du vill utesluta innehållet i katalogen men inte själva katalogen, använd katalognamn följt av / *:

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

Ovanstående kommando kopierar bara katalogen till destinationen men inte dess innehåll.

Uteslut flera filer eller kataloger

För att utesluta flera filer eller kataloger under synkroniseringsprocessen anger du var och en av dem enligt följande:

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

Istället för att specificera -utesluta alternativ för varje fil eller katalog, kan du använda en enda -utesluta alternativ genom att ange alla filer eller kataloger inom lockiga parenteser.

$ rsync -a --exclude = 'filnamn', 'katalog1', 'katalog2' src_dir / dest_dir /

Ett annat alternativ för att utesluta flera filer eller kataloger är att lista dem i en fil och sedan skicka filnamnet till -exkludera-från alternativ:

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

Här innehåller ”listan” fil- och katalognamnet som vi vill utesluta. Detta kommando synkroniserar src_dir till dest_dir samtidigt som de filer och kataloger som nämns i "lista" -filen exkluderas.

Uteslut filer eller kataloger som matchar ett mönster

Med rsync kan du också utesluta filer eller kataloger som matchar ett visst mönster. När du till exempel synkroniserar en katalog kanske du vill utesluta alla filer som slutar med a .Text förlängning. Kommandot, i detta fall, skulle vara:

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

Uteslut en fil efter storlek

Med rsync kan du utesluta filer baserat på deras minsta eller maximala storlek. Här använder vi inte -exclude-alternativet utan -max-size = eller -min-storlek == alternativ baserat på maximal respektive minsta storlek.

Här är listan över våra src_dir som visar filnamn tillsammans med deras storlekar i MB.

Låt oss säga att vi vill synkronisera alla filer till dest_dir utom de med en storlek större än 100 MB. I det här fallet skulle kommandot vara:

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

På samma sätt, för att utesluta filer som är mindre än en viss storlek, låt oss säga 50 MB, skulle kommandot vara:

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

Slutsats

Det är allt som finns i det! I det här inlägget har vi diskuterat olika exempel för att utesluta en fil eller en katalog i rsync. Vi har visat hur man utesluter en enda fil eller katalog, flera filer och kataloger, filer som matchar ett visst mönster och filerna baserat på deras minsta / maximala storlek.

Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...