Настройка резервного копирования с помощью Rsnapshot

Rsnapshot, написанный на Perl, базируется на rsync. В рабочей директории программы (назовём так место, куда складываются бэкапы), создается ряд папок с индексом, который при каждом следующем запуске программы увеличивается до указанного в конфигурации значения. Затем устаревшая копия удаляется. Если пройти в любую из созданных папок, то внутри можно найти полную копию резервируемых данных. На это указывает и общий размер папки — он равен сумме всех папок. На самом деле это не так. Программа создает жесткие ссылки между одинаковыми данными в пределах рабочего каталога. Таким образом, последняя актуальная копия является самой «тяжелой», а размер всех остальных составляет разницу в измененных данных.
Умеет делать pre и post-backup операции. Файлы хранятся в первозданном виде — легко восстанавливать. Достаточно удобно организовано конфигурирование. Поддерживает несколько временных уровней резервирования (дневной, недельный, месячный)

 

1.Установка Rsnapshot (Требует предварительной установки EPEL или RPMForge-репозитария)

 

2.Настройка SSH-авторизации по ключам без пароля с удаленным сервером

Проверяем вход по ключам

 

3.Настройка rsnapshot

В конфигурационном файле есть важные примечания
1.Разделителем между полями должен быть символ табуляции, а не пробел
2.Каталоги должны оканчиваться слешем (/home/ — корректно, /home – не корректно)

Проверка синтаксиса конфигурационного файла /etc/rsnapshot.conf

Тестовый режим запуска(иммитация запуска без его реального выполнения)

Лог файл для Rsnapshot

После повторного запуска проверяем размеры бекапов

Это достигается благодаря тому, что rsnapshot делает инкрементальные бекапы и создает жесткие ссылки между одинаковыми данными в пределах рабочего каталога.
использует опцию –l при копировании cp daily.0 в daily.1

Опции команды сp

Запускаем вручную третий раз

 

4.Настройка создания бекапа по расписанию

 

5.Настройка Rsnapshot-отчетов на E-Mail
Определяем расположение скрипта для создания отчетов,которые устанавливается вместе с пакетом rsnapshot

Копируем этот скрипт в /usr/local/bin/ и делаем его исполняемым

Добавлем парметр

в список long аргументов rsync(rsync_long_args)

Редактируем созданное ранее cron-задание

 

6.Полезные команды rsnapshot
Просмотр размера дискового пространства,занятого бекапами.

 

7.Настройка бекапа баз данных
Бекап баз данных с удаленного сервера можно проводить двумя способами
Первый способ
1.На удаленном сервере локально делается бекап баз данных и этот каталог,куда складывается этот бекап, копируется на сервер подобно остальным каталогам.
Второй способ
2.Необходимо разрешить удаленное подключения к MySQL¬серверу с сервера,на котором запускается rsnapshot
В этом случае с rsnapshot-сервер удаленно подключается к MySQL-серверу и снимает с него бекап баз данных через скрипт, указанный в параметре backup_script конфигурационного файла rsnapshot
За пример,можно взять уже поставляемый в комплекте скрипт.

Мне удобнее использовать свой скрипт для бекапа побазово, а не всех баз данных  в один файл

Проверяем синтаксис, запускаем создание бекапа и проверяем логи

Скрипт для снятия бекапа баз данных с удаленного сервера аналогичен этому за исключением логина/пароля/имени сервера

 

Для корректного переноса хранилища rsnapshot(например,каталога /backup) на другой сервер с помощью rsync необходимо использовать опцию -H
Например

Источник:
http://www.tecmint.com/rsnapshot-a-file-system-backup-utility-for-linux
https://wiki.centos.org/HowTos/RsnapshotBackups
http://habrahabr.ru/post/143383/
http://habrahabr.ru/company/centosadmin/blog/220555/
https://www.howtoforge.com/installing-rsnapshot-on-centos
https://www.digitalocean.com/community/tutorials/how-to-install-rsnapshot-on-ubuntu-12-04
http://anandarajpandey.com/2015/04/12/rssnapshot-how-to-backup-files-website-to-remote-backup-location/

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика