rsync

Jak wykluczyć Directory Rsync?

Jak wykluczyć Directory Rsync?
Rsync (oznacza zdalną synchronizację) to bardzo potężne narzędzie wiersza poleceń do lokalnej i zdalnej synchronizacji plików i katalogów. Jest preinstalowany w większości dystrybucji Linuksa. Jest to jedno z najlepszych narzędzi do tworzenia kopii zapasowych i synchronizowania plików i katalogów w wielu lokalizacjach. Najlepszą częścią rsync jest to, że minimalizuje ilość danych kopiowanych do zdalnej lokalizacji, kopiując tylko te dane, które zostały zmienione. Jest jeszcze jedna wspaniała cecha rsync, którą omówimy dzisiaj; wyklucza pliki lub katalogi z synchronizacji. Jest to niezwykle przydatne podczas tworzenia kopii zapasowych, gdy nie chcesz kopiować jednego lub więcej plików lub katalogów.

Pokażemy Ci, jak 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 dystrybucji Linuksa z zainstalowanym rsync.

Wyklucz określony plik

Podczas synchronizowania katalogu możesz chcieć wykluczyć określony plik znajdujący się w nim. Możesz to zrobić za pomocą opcji -exclude, po której następuje nazwa pliku ujęta w przecinki.

Składnia polecenia będzie następująca:

$ rsync -a --exclude 'nazwa_pliku' katalog_źródłowy/katalog_docelowy/

Tutaj, za opcja jest używana do synchronizacji rekurencyjnej.

Na przykład, aby wykluczyć plik o nazwie próba.tekst ze źródła podczas synchronizacji katalog_src i dest_dir, polecenie byłoby:

$ rsync -a --exclude 'sample.txt' katalog_src/ katalog_docelowy/

Wyklucz określony katalog

Aby wykluczyć określony katalog (w tym jego podkatalogi) ze źródła podczas synchronizowania katalogów źródłowych i docelowych, użyj następującej składni:

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

Na przykład, aby wykluczyć katalog o nazwie sampledir podczas synchronizacji katalog_src i dest_dir, polecenie byłoby:

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

Jeśli chcesz wykluczyć zawartość katalogu, ale nie sam katalog, użyj nazwy katalogu, po której następuje /*:

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

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

Wyklucz wiele plików lub katalogów

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

$ rsync -a --exclude 'nazwa_pliku' --exclude 'katalog1 --exclude 'katalog2' src_dir/ dest_dir/

Zamiast określać -wykluczać opcja osobno dla każdego pliku lub katalogu, możesz użyć jednego -wykluczać opcję, podając wszystkie pliki lub katalogi w nawiasach klamrowych.

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

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

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

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

Wyklucz pliki lub katalogi, które pasują do wzorca

Dzięki rsync możesz również wykluczyć pliki lub katalogi, które pasują do określonego wzorca. Na przykład podczas synchronizowania katalogu możesz chcieć wykluczyć wszystkie pliki kończące się na with .tekst rozbudowa. Polecenie w tym przypadku byłoby następujące:

$ rsync -a --exclude '*.txt' katalog_src/ katalog_docelowy/

Wyklucz plik według rozmiaru

Dzięki rsync możesz wykluczyć pliki na podstawie ich minimalnego lub maksymalnego rozmiaru. Tutaj nie użyjemy opcji -exclude, ale -max-size= lub -min-rozmiar== opcje oparte odpowiednio na maksymalnym i minimalnym rozmiarze.

Oto lista naszych katalog_src 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 rozmiarze większym niż 100MB. W takim przypadku polecenie to:

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

Podobnie, aby wykluczyć pliki, które są mniejsze niż określony rozmiar, powiedzmy 50 MB, polecenie to:

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

Wniosek

To wszystko, co w tym jest! W tym poście omówiliśmy różne przykłady wykluczania pliku lub katalogu 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 minimalnego/maksymalnego rozmiaru.

Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...