====== rsnapshot. Инкрементальные бэкапы файловой системы ======
**rsnapshot** – Базирующаяся на rsync утилита на Perl для создания резервных копий. Особенностью является ориентация на создания полных снапшотов файловой системы через заданный интервал времени, для экономии места на диске, не изменившиеся с момента первого бэкапа файлы линкуются как hard link.
----
===== Установка =====
* **Gentoo Linux**:
emerge app-backup/rsnapshot
* **CentOS**:
yum install rsnapshot
* **Debian / Ubuntu** :
apt-get install rsnapshot
----
===== Настройка =====
Создадим каталог, в котором будут храниться резервные копи:
mkdir /backup
Создадим конфигурационный файл из шаблона:
cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
* Файл конфигурации:
/etc/rsnapshot.conf
## Директирия где будут находиться снимки
snapshot_root /backup/
## Для 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 выдаст ошибку.
----
====== Источники ======
* [[http://wiki.enchtex.info/tools/archiving/rsnapshot|Enchanted Technology]]