Как правильно использовать 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 правильно распознать, что нужно копировать.
Альтернативные методы управления исключениями с помощью файлов
Если вам не удобно использовать простые включения и исключения, вы также можете создать файл, который будет содержать все файлы и каталоги, исключаемые из резервного копирования. Например:
- Сначала создайте список всех файлов и каталогов:
$ ls -a > /mnt/backup/exclude_files.txt
-
Затем отредактируйте
exclude_files.txt
, удалив ненужные записи, такие как.
,..
и любые каталоги, которые вы хотите исключить. - После этого выполните команду rsync, указав файл исключений:
$ sudo rsync -aAXv --dry-run --exclude-from='/mnt/backup/exclude_files.txt' ${SOURCE_DIR} ${BACKUP_PATH}
Убедитесь, что файл exclude_files.txt
находится в том же каталоге, где вы запускаете команду rsync.
Заключение
Использование rsync с правильными опциями включения и исключения может значительно упростить процесс резервного копирования. Обязательно проверьте порядок аргументов и убедитесь, что ваши файлы исключений настроены правильно. Если следовать описанным рекомендациям, вы сможете быстро и эффективно настроить резервное копирование по вашему усмотрению.