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.