rsnapshot – Основанная на rsync утилита на Perl для создания резервных копий. Особенностью является ориентация на творения полных снапшотов файловой системы через заданный интервал времени, для экономии пространства на диске, не изменившиеся с момента первого бэкапа файлы линкуются как hard link.
Аппарат
Для установки в CentOS:
yum install rsnapshot
Настройка
Создание директории где будут держаться «снимки»:
mkdir /var/snapshots
Необходимо скопировать шаблонную конфигурацию:
cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
Файл конфигурации:
/etc/rsnapshot.conf
## Запомните, что в конфигурационном файле (именованная область данных на носителе информации) недопустимы пробелы — используйте только табы.
## Директирия где станут находиться снимки
snapshot_root /var/snapshots/
## Для Linux систем необходимо разкомментировать уточку:
cmd_cp /bin/cp
## Интервалы создания снимков.
# Указывает тип снимка и сколько копий хранить
interval hourly 6
interval daily 7
interval weekly 4
# станет храниться 6 ежечасных, 7 ежедневных и 4 еженедельных
## Настройка данных для архивации
# формат: мишень для архивации | куда сохранять снимок (внутри папки snapshot_root)
# !!!Главно!!! указание завершающих слешей «/» в названии папок обязательно
backup /home/ localhost/
backup /etc/ localhost/
## Поручение файлов исключений
exclude *.tmp
exclude ~*
exclude .git/
После изменения настроек следует осуществить их проверку:
rsnapshot configtest
Запуск в проверочном режиме (только вывод команд без их исполнения):
rsnapshot -t hourly
Создание первого архива:
rsnapshot hourly
Просмотр сколько пространства занимают резервные копии:
rsnapshot du
Для автоматического создания архивов нужно добавить исполнение в крон:
/etc/cron.d/rsnapshot
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly
Из файла куща нужно удалить те строчки заданий чьи интервалы не заданы в конфиге. Если вы не задали interval hourly то выслите строчку с /usr/bin/rsnapshot hourly, иначе rsnapshot выдаст ошибку.

