Вступление
Rsync — это мощная утилита командной строки для систем Unix/Linux, которая позволяет синхронизировать и передавать файлы между двумя разными системами. Одной из основных возможностей Rsync является возможность исключать файлы и каталоги из процесса синхронизации. Эта функция может быть невероятно полезна для множества задач, таких как резервное копирование, синхронизация кодовой базы и управление данными.
Исключить файлы и каталоги с помощью rsync
Чтобы исключить определенные файлы или папки при использовании команды rsync
, вы можете использовать параметр --exclude
или -X
. Опция --exclude
принимает список шаблонов (регулярных выражений), разделенных запятыми, которые соответствуют файлам или папкам, которые необходимо исключить.
Пример:
rsync -av --exclude=pattern1 --exclude=pattern2 source/destination/
В этом случае все файлы или папки в исходном пути, соответствующие «шаблону1» или «шаблону2», будут исключены из синхронизации.
rsync -av --exclude='pattern1|pattern2' source/destination/
в этом случае все файлы или папки, соответствующие шаблону1 или шаблону2, будут исключены.
Кроме того, вы также можете использовать текстовый файл для указания правил исключения, используя параметр --exclude-from
. Файл должен содержать список шаблонов, по одному в строке.
rsync -av --exclude-from=exclude-list.txt source/destination/
Эта команда будет использовать шаблоны, указанные в файле «exclude-list.txt», для исключения файлов во время синхронизации.
Если вы хотите исключить все файлы с расширением «.log», вы можете использовать следующую команду:
rsync -av --exclude='*.log' source/destination/
Исключить все, что написано в текстовом файле
Другой способ исключить файлы и каталоги — использовать отдельный файл с именем «исключить файлы». Этот файл содержит список исключенных шаблонов, по одному в строке, и Rsync прочитает файл и применит все указанные в нем шаблоны.
rsync -av --exclude-from='exclude.txt' source/destination/
Здесь файл exclude.txt, содержащий все шаблоны файлов или каталогов для исключения
Шаблоны в файле исключения могут быть шаблоном оболочки (например, *.log) или регулярным выражением (если параметр --exclude-from
заменен на --exclude-from-file
).
Включить определенные файлы и исключить другие
Также можно включать и исключать файлы одновременно, используя параметр --include
, за которым следует имя файла или каталога, который вы хотите включить, и параметр --exclude
для всего остального. Например, следующая команда включит все файлы с расширением «.txt» и исключит все остальные файлы:
rsync -av --include='*.txt' --exclude='*' source/destination/
Важно отметить порядок параметров --include
и --exclude
. это важно. Если вы хотите включить определенный файл или каталог, а затем исключить другие, параметр --include
должен быть первым.
Исключить большие файлы
Еще одним соображением при использовании Rsync для исключения файлов и каталогов является производительность. Исключение больших файлов или каталогов может сэкономить значительное количество времени и места при передаче или синхронизации данных. Например, если вы делаете резервную копию, вы можете исключить большие мультимедийные файлы или резервные копии.
rsync --ignore-existing --size-range='+100M' -av source/destination/
Есть также много других опций, доступных с rsync, которые можно использовать для дальнейшего улучшения процесса передачи файлов. Например, вы можете использовать параметр --exclude
, чтобы исключить передачу определенных файлов или каталогов, или параметр --dry-run
, чтобы увидеть, какие файлы будут скопированы без фактического выполнения переноса.
Заключение
В целом, возможность исключать файлы и каталоги с помощью Rsync — это мощная и важная функция, которая может значительно повысить эффективность, точность и безопасность задач резервного копирования, синхронизации и управления данными. Используя методы и рекомендации, описанные в этой статье, вы можете в полной мере воспользоваться преимуществами этой функции и убедиться, что ваши команды Rsync работают максимально эффективно и действенно.