Ми покажемо вам, як ви можете виключити файл або каталог у rsync, використовуючи різні приклади. Представлені тут приклади перевірені на Ubuntu 20.04 LTS, однак вони також діють для інших дистрибутивів Linux, на яких встановлено rsync.
Виключіть певний файл
Під час синхронізації каталогу ви можете виключити певний файл, що знаходиться всередині нього. Ви можете зробити це, використовуючи опцію -exclude, а потім ім'я файлу, укладене комами.
Синтаксис команди буде таким:
$ rsync -a --виключити 'ім'я_файлу' джерело_каталог / каталог_назначення /Ось, a параметр використовується для рекурсивної синхронізації.
Наприклад, щоб виключити файл з іменем зразок.txt з джерела при синхронізації 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 = 'ім'я_файла', 'каталог1', 'каталог2' src_dir / dest_dir /
Інший варіант виключення декількох файлів або каталогів - це перерахування їх у файл, а потім передача імені файлу в -виключити-з варіант:
$ rsync -a --exclude-from 'list' src_dir / dest_dir /Тут “список” містить ім’я файлу та каталогів, які ми хочемо виключити. Ця команда синхронізує src_dir із dest_dir, виключаючи файли та каталоги, згадані у файлі “list”.
Виключіть файли або каталоги, що відповідають шаблону
За допомогою rsync ви також можете виключити файли або каталоги, що відповідають певному шаблону. Наприклад, під час синхронізації каталогу ви можете виключити всі файли, що закінчуються на .txt розширення. У цьому випадку команда буде такою:
$ rsync -a --exclude '*.txt 'src_dir / dest_dir /
Виключіть файл за розміром
За допомогою rsync ви можете виключати файли на основі їх мінімального або максимального розміру. Тут ми не будемо використовувати опцію -exclude, а -max-size =
Ось список наших src_dir який показує імена файлів разом із їх розмірами в МБ.
Скажімо, ми хочемо синхронізувати всі файли до dest_dir, за винятком тих, розмір яких перевищує 100 Мб. У цьому випадку команда буде такою:
$ rsync -av --max-size = 100m src_dir / dest_dir /
Аналогічним чином, щоб виключити файли, розмір яких менший за певний розмір, скажімо, 50 МБ, команда буде такою:
$ rsync -av --min-size = 50m src_dir / dest_dir /Висновок
Це все! У цій публікації ми обговорили різні приклади виключення файлу чи каталогу у rsync. Ми показали, як виключити один файл або каталог, декілька файлів і каталогів, файли, що відповідають певному шаблону, та файли на основі їх мінімальних / максимальних розмірів.