Ще ви покажем как можете да изключите файл или директория в rsync, като използвате различни примери. Представените тук примери са тествани на Ubuntu 20.04 LTS, обаче, те са валидни и за други дистрибуции на Linux с инсталиран rsync.
Изключете конкретен файл
Докато синхронизирате директория, може да искате да изключите конкретен файл, намиращ се вътре в нея. Можете да го направите, като използвате опцията -exclude, последвана от името на файла, затворено със запетаи.
Синтаксисът на командата ще бъде:
$ rsync -a --exclude 'file_name' source_directory / destination_directory /Тук, а опцията се използва за рекурсивно синхронизиране.
Например, за да изключите файл с име проба.текст от източника при синхронизиране src_dir и dest_dir, командата ще бъде:
$ rsync -a --exclude 'извадка.txt 'src_dir / dest_dir /
Изключете конкретна директория
За да изключите конкретна директория (включително нейните поддиректории) от източника, когато синхронизирате директорията източник и дестинация, използвайте следния синтаксис:
$ rsync -a - изключва 'име_на_директория' src_dir / dest_dir /Например, за да изключите директория с име sampledir при синхронизиране на src_dir и dest_dir, командата ще бъде:
$ rsync -a - изключете 'sampledir' src_dir / dest_dir /
Ако искате да изключите съдържанието на директорията, но не и самата директория, използвайте името на директорията, последвано от / *:
$ rsync -a - изключване на 'sampledir / *' src_dir / dest_dir /Горната команда само ще копира директорията до местоназначението, но не и нейното съдържание.
Изключете множество файлове или директории
За да изключите множество файлове или директории по време на процеса на синхронизиране, посочете всеки от тях, както следва:
$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude' directory2 'src_dir / dest_dir /
Вместо да се уточнява -изключете опция поотделно за всеки файл или директория, можете да използвате един -изключете опция, като посочите всички файлове или директории в къдрави скоби.
$ rsync -a --exclude = 'file_name', 'directory1', 'directory2' src_dir / dest_dir /
Друга възможност за изключване на множество файлове или директории е чрез изброяването им във файл и след това предаване на името на файла на -изключване-от опция:
$ rsync -a --exclude-from 'list' src_dir / dest_dir /Тук „списъкът“ съдържа името на файла и директориите, които искаме да изключим. Тази команда синхронизира src_dir с dest_dir, като изключва файловете и директориите, споменати във файла „list“.
Изключете файлове или директории, които съответстват на шаблон
С rsync можете също да изключите файлове или директории, които съответстват на определен модел. Например, докато синхронизирате директория, може да искате да изключите всички файлове, завършващи с .текст удължаване. В този случай командата ще бъде:
$ rsync -a --exclude '*.txt 'src_dir / dest_dir /
Изключете файл по размер
С rsync можете да изключвате файлове въз основа на техния минимален или максимален размер. Тук няма да използваме опцията -exclude, а -max-size =
Ето списъка на нашите src_dir което показва имената на файловете заедно с техните размери в MB.
Да приемем, че искаме да синхронизираме всички файлове с dest_dir с изключение на тези с размер по-голям от 100MB. В този случай командата ще бъде:
$ rsync -av --max-size = 100m src_dir / dest_dir /
По същия начин, за да изключим файлове, които са по-малки от определен размер, да кажем 50 MB, командата ще бъде:
$ rsync -av --min-size = 50m src_dir / dest_dir /Заключение
Това е всичко! В тази публикация обсъдихме различни примери за изключване на файл или директория в rsync. Показахме как да изключим един файл или директория, множество файлове и директории, файлове, които съответстват на определен модел, и файловете въз основа на техните минимални / максимални размери.