Поиск по сайту:

Доброе — это прекрасное в действии (Ж.-Ж. Руссо).

Как исключить каталог в Rsync?

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
5 мая 2021
Как использовать Rsync на VPS Linux
Rsync (расшифровывается как удаленная синхронизация) – очень мощная утилита командной строки для локальной и удаленной синхронизации файлов и каталогов. Он предустановлен в большинстве дистрибутивов Linux. Это одна из лучших утилит для резервного копирования и синхронизации файлов и каталогов в нескольких местах. Лучшее в rsync заключается в том, что он минимизирует объем данных, копируемых в удаленное место, путем копирования только тех данных, которые были изменены. Есть еще одна замечательная особенность rsync, которую мы собираемся обсудить сегодня; это исключает файлы или каталоги из синхронизации. Это чрезвычайно полезно во время резервного копирования, когда вы не хотите копировать один или несколько файлов или каталогов.

Мы покажем вам, как исключить файл или каталог в rsync, используя различные примеры. Представленные здесь примеры были протестированы на Ubuntu 20.04 LTS, однако они также действительны для других дистрибутивов Linux с установленным rsync.

 

Исключить определенный файл

При синхронизации каталога вы можете исключить определенный файл, расположенный внутри него. Вы можете сделать это с помощью опции –exclude, за которой следует имя файла, заключенное в запятую.

Синтаксис команды будет:

$ rsync -a --exclude ‘file_name’ source_directory/ destination_directory/

Здесь опция используется для рекурсивной синхронизации.

Например, чтобы исключить файл с именем sample.txt из источника при синхронизации src_dir и dest_dir, команда будет выглядеть так:

$ rsync -a --exclude ‘sample.txt’ src_dir/ dest_dir/

Исключить конкретный каталог

Чтобы исключить конкретный каталог (включая его подкаталоги) из источника при синхронизации исходного и целевого каталогов, используйте следующий синтаксис:

$ rsync -a --exclude ‘directory_name’ src_dir/ dest_dir/

Например, чтобы исключить каталог с именем sampledir при синхронизации src_dir и dest_dir, команда будет выглядеть так:

$ rsync -a --exclude ‘sampledir’ src_dir/ dest_dir/

Если вы хотите исключить содержимое каталога, но не сам каталог, используйте имя каталога, за которым следует / *:

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

Приведенная выше команда скопирует только каталог в место назначения, но не его содержимое.

 

Исключить несколько файлов или каталогов

Чтобы исключить несколько файлов или каталогов во время процесса синхронизации, укажите каждый из них следующим образом:

$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude 'directory2' src_dir/ dest_dir/

Вместо того, чтобы указывать параметр –exclude отдельно для каждого файла или каталога, вы можете использовать один параметр –exclude, указав все файлы или каталоги в фигурных скобках.

$ rsync -a --exclude={'file_name' ,'directory1’,'directory2'} src_dir/ dest_dir/

Другой вариант исключения нескольких файлов или каталогов – перечислить их в файле и затем передать имя файла параметру –exclude-from:

$ rsync -a –exclude-from ‘list’ src_dir/ dest_dir/

Здесь «list» содержит имя файла и каталогов, которые мы хотим исключить. Эта команда синхронизирует src_dir с dest_dir, исключая файлы и каталоги, упомянутые в файле «list».

Читать  Как подключить общий ресурс Windows на Linux с помощью CIFS

 

Исключить файлы или каталоги, соответствующие шаблону

С помощью rsync вы также можете исключить файлы или каталоги, соответствующие определенному шаблону. Например, при синхронизации каталога вы можете исключить все файлы с расширением .txt. В этом случае команда будет выглядеть так:

$ rsync -a --exclude ‘*.txt’ src_dir/ dest_dir/

Исключить файл по размеру

С помощью rsync вы можете исключать файлы по их минимальному или максимальному размеру. Здесь мы не будем использовать параметр –exclude, но будем использовать параметры –max-size=<size in MB> или –min-size==<size in MB> в зависимости от максимального и минимального размера соответственно.

Вот список нашего 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. Мы показали, как исключить один файл или каталог, несколько файлов и каталогов, файлы, соответствующие определенному шаблону, и файлы на основе их минимального/максимального размера.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close