Как исключить папку из Rsync

Убунту 17

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

Чтобы исключить папку из rsync, вы можете использовать параметр –exclude, за которым следует имя папки. Например, rsync -avz –exclude исходный пункт назначения «папка_для_исключения». Если у вас есть несколько папок для исключения, вы можете создать файл со списком папок и использовать параметр –exclude-from.

Понимание Rsync

Прежде чем мы углубимся в особенности исключения папки, важно понять, как работает rsync. Rsync использует алгоритм для минимизации объема передаваемых данных. Он делает это, только передавая различия между исходным и целевым файлами.

Основной синтаксис команды rsync:

Параметры rsync источник назначения

Например:

rsync -avz /home/user1/user2@192.168.1.2:/home/user2/

В этой команде -avz являются параметрами. Параметр -a означает «архив», который сохраняет структуру файла, права доступа к файлу, символические ссылки и другие атрибуты. Параметр -v означает «подробный», что дает подробную информацию о процессе. Параметр -z сжимает данные во время передачи, чтобы ускорить процесс.

Исключение папок с помощью –exclude

Rsync предоставляет параметр –exclude для исключения файлов и каталогов из процесса синхронизации. Синтаксис использования –exclude следующий:

rsync -avz –exclude ‘folder_to_exclude’ исходный пункт назначения

Например, если вы хотите исключить папку «Загрузки», расположенную в /home/chris/, вы должны использовать следующую команду:

rsync -avz –exclude ‘/Загрузки’ /home/chris/user2@192.168.1.2:/home/user2/

В этой команде –exclude ‘/Downloads’ указывает rsync исключить папку «Загрузки» из процесса синхронизации.

Исключение нескольких папок с помощью –exclude-from

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

rsync -avz –exclude-from ‘exclude_list.txt’ источник назначения

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

/Загрузки /Документы

Затем вы должны использовать следующую команду:

rsync -avz –exclude-from ‘exclude_list.txt’ /home/chris/user2@192.168.1.2:/home/user2/

В этой команде –exclude-from ‘exclude_list.txt’ указывает rsync исключить папки, перечисленные в exclude_list.txt, из процесса синхронизации.

Заключение

Исключение папок из rsync — это простой процесс благодаря параметрам –exclude и –exclude-from. Независимо от того, хотите ли вы исключить одну или несколько папок, эти параметры позволяют гибко управлять тем, что синхронизируется. Понимая, как использовать эти параметры, вы можете сделать свои процессы rsync более эффективными и адаптированными к вашим конкретным потребностям.

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

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

Чтобы исключить папку, расположенную в подкаталоге, необходимо указать путь к папке относительно исходного местоположения. Например, если вы хотите исключить папку с именем logs, расположенную в /home/user1/documents/, вы должны использовать параметр –exclude ‘/documents/logs’.

Да, вы можете исключить определенные типы файлов с помощью rsync. Для этого вы можете использовать параметр –exclude, за которым следует шаблон файла, который вы хотите исключить. Например, чтобы исключить все файлы с расширением .txt, следует использовать параметр –exclude ‘*.txt’.

Да, вы можете исключить папку на основе ее имени с помощью rsync. Вы можете использовать параметр –exclude, за которым следует имя папки. Например, чтобы исключить папку с именем backup, вы должны использовать опцию –exclude ‘backup’. Обратите внимание, что это исключит все папки с именем резервной копии независимо от их местоположения.

Да, вы можете исключить скрытые папки с помощью rsync. Скрытые папки — это те, которые начинаются с точки (например, .folder). Чтобы исключить скрытые папки, вы можете использовать опцию –exclude ‘.*’. Это исключит все папки, имена которых начинаются с точки.

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

Да, исключение папки также исключает ее подпапки из процесса синхронизации. Когда вы исключаете папку, rsync не будет передавать какие-либо файлы или каталоги в этой исключенной папке или ее подпапках.

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

Да, вы можете использовать подстановочные знаки, чтобы исключить несколько папок с похожими именами с помощью rsync. Например, чтобы исключить все папки, имена которых начинаются со слова «temp», вы можете использовать параметр –exclude «temp*». Это исключит такие папки, как «temp», «temporary», «template» и т. д.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *