Jak wykluczyć rsync katalogu?

Jak wykluczyć rsync katalogu?
RSync (oznacza zdalne synchronizację) to bardzo potężne narzędzie wiersza poleceń dla synchronizacji plików lokalnych i zdalnych. Jest wstępnie zainstalowany w większości dystrybucji Linux. Jest to jedno z najlepszych narzędzi do tworzenia kopii zapasowych i przechowywania plików i katalogów w wielu lokalizacjach zsynchronizowanych. Najlepszą częścią RSYNC jest to, że minimalizuje ilość danych skopiowanych do odległej lokalizacji, kopiując jedynie zmienione dane. Jest kolejna świetna cecha Rsync, którą dzisiaj omówimy; Wyklucza pliki lub katalogi z synchronizacji. Jest to niezwykle przydatne podczas kopii zapasowych, gdy nie chcesz kopiować jednego lub więcej plików lub katalogów.

Pokazamy, w jaki sposób możesz wykluczyć plik lub katalog w RSync, używając różnych przykładów. Przedstawione tutaj przykłady zostały przetestowane na Ubuntu 20.04 LTS, jednak są one również ważne dla innych rozkładów Linux z zainstalowaniem RSYNC.

Wyklucz konkretny plik

Synchronizując katalog, możesz wykluczyć określony plik znajdujący się w nim. Możesz to zrobić za pomocą opcji -exclude, a następnie nazwy pliku zamkniętej w przecinkach.

Składnia polecenia będzie:

$ rsync -a --exclude 'nazwa_nambu „Źródło_directory/ destyrent_directory/

Tutaj, A Opcja jest używana do synchronizacji rekurencyjnej.

Na przykład, aby wykluczyć plik o nazwie próbka.tekst ze źródła podczas synchronizacji src_dir I dest_dir, Poleceniem byłoby:

$ rsync -a -exclude 'próbka.txt 'src_dir/ dest_dir/

Wyklucz konkretny katalog

Aby wykluczyć konkretny katalog (w tym jego podwodniki) ze źródła podczas synchronizacji źródła i katalogów docelowych, użyj następującej składni:

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

Na przykład, aby wykluczyć katalog nazwany Próbpledir podczas synchronizacji src_dir I dest_dir, Poleceniem byłoby:

$ rsync -a --exclude „Sampledir” src_dir/ dest_dir/

Jeśli chcesz wykluczyć treść katalogu, ale nie sam katalog, użyj nazwy katalogu, a następnie /*:

$ rsync -a --exclude 'próbpledir/*' src_dir/ dest_dir/

Powyższe polecenie tylko skopiuje katalog do miejsca docelowego, ale nie jego treść.

Wyklucz wiele plików lub katalogów

Aby wykluczyć wiele plików lub katalogów podczas procesu synchronizacji, określ każdą z nich w następujący sposób:

$ rsync -a --exclude „plik_nazwa”

Zamiast określać -wykluczać opcja osobno dla każdego pliku lub katalogu, możesz użyć jednego -wykluczać Opcja poprzez określenie wszystkich plików lub katalogów w nawiasach kręconych.

$ rsync -a --exclude = 'plik_name', 'Directory1', 'Directory2' src_dir/ dest_dir//

Inną opcją wykluczenia wielu plików lub katalogów jest wymienianie ich w pliku, a następnie przekazanie nazwy pliku do -Wykluczyć z opcja:

$ rsync -a -exclude -fr -fr „lista” src_dir/ dest_dir/

Tutaj „lista” zawiera nazwę plików i katalogów, które chcemy wykluczyć. To polecenie synchronizuje src_dir z dest_dir, wykluczając jednocześnie pliki i katalogi wymienione w pliku „lista”.

Wyklucz pliki lub katalogi pasujące do wzoru

Dzięki RSync możesz również wykluczyć pliki lub katalogi pasujące do określonego wzoru. Na przykład, synchronizując katalog, możesz chcieć wykluczyć wszystkie pliki kończące się .tekst rozszerzenie. Poleceniem w tym przypadku byłoby:

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

Wyklucz plik według rozmiaru

Dzięki RSync możesz wykluczyć pliki na podstawie ich minimalnego lub maksymalnego rozmiaru. Tutaj nie będziemy używać opcji -exclude, ale opcje -max -size = lub -min -size == na podstawie odpowiednio maksymalnego i minimalnego rozmiaru.

Oto lista naszych src_dir który pokazuje nazwy plików wraz z ich rozmiarami w MB.

Powiedzmy, że chcemy zsynchronizować wszystkie pliki z dest_dir, z wyjątkiem tych o wielkości większym niż 100 MB. W takim przypadku poleceniem byłoby:

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

Podobnie, aby wykluczyć pliki mniejsze niż określony rozmiar, powiedzmy 50 MB, poleceniem byłoby:

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

Wniosek

To wszystko w tym jest! W tym poście omówiliśmy różne przykłady, aby wykluczyć plik lub katalog w RSYNC. Pokazaliśmy, jak wykluczyć pojedynczy plik lub katalog, wiele plików i katalogów, pliki pasujące do określonego wzorca oraz pliki na podstawie ich minimalnych/maksymalnych rozmiarów.