Как исключить файлы из Rsync

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

Исключение из списка в файле

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

 rsync  - exclude-from =/path/to/exclusion-file /path/to/source/path/to/dest 

Хитрость с rsync в том, что вам нужно использовать относительный путь, когда вы пытаетесь исключить вещи, потому что, когда он пытается сопоставить исключения, он не будет использовать первую часть пути для совпадения … это странно.

Скажем, например, что вы пытаетесь сделать резервную копию/data/web/и отправить его на другой сервер, поэтому для его создания вы используете команду, такую ​​как rsync -a/data/web/user @ server:/backups/data/web/бывает … но вы действительно хотите пропустить синхронизацию папки/data/web/cache /. Когда rsync проверяет список исключений для каждого синхронизируемого элемента, он не проверяет/data/web/cache /, поскольку ваша исходная команда rsync находится в папке/data/web /. Он просто проверит «кеш /» по списку. Так что вам нужно будет поместить «кеш» в список, а не полный путь. Пример:

 rsync -a --exclude-from =/data/exclusion/data/web// backups/

Теперь, чтобы исключить/data/web/cache и/data/web/temp из rsync с помощью этой команды, мы удалили часть пути/data/web /, а файл/data/exclusion просто содержал бы это:

 кэш *
темп * 

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

 *. TXT 

Это гарантирует, что эти типы файлов будут пропущены во время синхронизации. Это довольно просто за пределами этого.

Исключение одного предмета

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

 rsync --exclude = относительный/path/to/exclusion/source/dest 

Здесь должен применяться тот же относительный путь, что и выше.

Оцените статью
TutoryBird.Ru
Добавить комментарий