Как заставить Rsync исключать каталоги с опцией включения: Полное руководство

Как правильно использовать rsync для резервного копирования с помощью включений и исключений

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

Зачем использовать включения и исключения в rsync

Одной из основных причин использования опций включения (--include) и исключения (--exclude) является необходимость сократить время, затрачиваемое на перечисление всех каталогов и файлов, которые вы хотите исключить из резервного копирования. В некоторых случаях список файлов, которые нужно сохранить, может быть намного короче, чем список исключаемых файлов.

Как настроить синтаксис для резервного копирования с помощью rsync

Прежде всего, давайте установим пример переменных:

INCLUDE_DIR='{"Documents/***","Downloads/***","Music/***","Pictures/***","Videos/***",".ssh/***",".thunderbird/***"}'
EXCLUDE_DIR='{"*"}'
SOURCE_DIR="/home/username/"
BACKUP_PATH="/mnt/backup/"

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

sudo rsync -aAXv --dry-run --include=${INCLUDE_DIR} --exclude=${EXCLUDE_DIR} ${SOURCE_DIR} ${BACKUP_PATH}

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

Правильный порядок аргументов в команде rsync

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

sudo rsync -aAXv --dry-run --include=${INCLUDE_DIR} --exclude=${EXCLUDE_DIR} ${SOURCE_DIR} ${BACKUP_PATH}

Здесь SOURCE_DIR и BACKUP_PATH находятся в конце команды, что позволяет rsync правильно распознать, что нужно копировать.

Альтернативные методы управления исключениями с помощью файлов

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

  1. Сначала создайте список всех файлов и каталогов:
$ ls -a > /mnt/backup/exclude_files.txt
  1. Затем отредактируйте exclude_files.txt, удалив ненужные записи, такие как ., .. и любые каталоги, которые вы хотите исключить.

  2. После этого выполните команду rsync, указав файл исключений:
$ sudo rsync -aAXv --dry-run --exclude-from='/mnt/backup/exclude_files.txt' ${SOURCE_DIR} ${BACKUP_PATH}

Убедитесь, что файл exclude_files.txt находится в том же каталоге, где вы запускаете команду rsync.

Заключение

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

Источник

Ответить

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