Настройка safekeep

     Sefekeep  - это абсолютно бесплатное решения на платформе Linux для резервного копирования данных в малых сетях ( базы данныx , LVM снимков и просто файлов ) используя rdiff-backup.
В качестве операционной системы я буду использовать Centos c файловой системой LVM

  • Установка на сервер
      Дистрибутив программы можно найти на официальной странице  или использовать RPMFORGE репозиторий, как его устанавливать описано здесь


 1) Установка пакетного файла
#перейдём под root
su
#укажем имя репозитория явно
yum --enablerepo=rpmforge install rdiff-backup safekeep-server safekeep-client nano
 
2) Настройка программы 

nano -w /etc/safekeep/safekeep.conf
#--- ИЗМЕНИТЬ ---  
#укажем каталог куда будет происходить копирование файлов
base.dir = /backup/safekeep
#укажем более низкий приоритет для нашего сервиса 
nice.adjustment = 19 
#адрес почтового ящика для отправки лог сообщений 
email.to=admin@mail.com
#и если необходимо - укажем явно адрес smtp сервера 
email.smtp.server=smtp.mail.com
#--- ИЗМЕНИТЬ --- 
 
       Теперь необходимо изменить home каталог для пользователя safekeep
 на наш "/backup/safekeep", например так: 
nano -w /etc/passwd
#--- ИЗМЕНИТЬ --- 
safekeep:x:101:104:Used by safekeep to run and store backups.:/backup/safekeep:/sbin/nologin
#--- ИЗМЕНИТЬ --- 
 
 
3) Настроим каталог для хранения бэкапа.
#создадим собственно сам каталог 
mkdir -p /backup/safekeep
#назначим владельца на каталог 
chown safekeep:safekeep /backup/safekeep
# и зададим разрешения 
сhmod 750 /backup/safekeep
 
4) Теперь настроим задание для бэкапа файлов сервера с возможностью
 восстановления их за трёхнедельный период:

nano -w /etc/safekeep/backup.d/localhost.backup
#---ДОБАВИТЬ---

#---ДОБАВИТЬ---
 
 
5) Поподробнее.
      Как вы заметили, это конфигурационный файл формата XML,
 имеющий расширение ".backup". И если вы хотите временно отключить бэкап
 для какого-либо из хостов, то просто уберите это расширение из имени файла. 
 
Описание параметров: 
- это имя хоста для которого будет производится бэкап,
 т.к. сервер копирует свои файлы, то указываем localhost
 - сколько дней будет храниться текущий бэкап 
(т.е я смогу восстанавливать файлы 21 дневной давности)
 
      В параметре "setup" можно указать параметры для создания snapshots LVM
 (snapshots .мгновенные снимки - многие пользователи знакомятся с этим понятием
 лишь когда начинают использовать виртуальные OC)
, а также архивирование  MySQL и PostgreSQL баз данных.

      Я указал три LVM раздела которые считаю наиболее важными и которые,
 при сбое, мне бы хотел восстановить самым быстрым способом).
 отдельное архивирование баз данных мне не нужно.
Обратите внимание на ключ "size", очень важное значение,
оно ограничивает размер снимка.
      Для создание снимков на вашем физическом томе должно быть
 свободное место (проверить можно командой "vgs" - смотреть на параметр "VFree").
Иначе процедура не будет работать, помимо этого вы должны рассчитать как
интенсивно будет разрастаться ваши логические тома.
      Объясню на примере моего логического тома "VolGroup00-root"
этот раздел используется только сервисами для лог файлов и других
служебных операций.
Программы я на него не ставлю, поскольку работаю в основном с 
виртуальными машинами, именно поэтому я рассчитываю что он разрастётся
не более чем на 500 mb.
 
      Так же не менее  важно: чтобы сумма указанных вами значений "size"
 - не превышала свободного места в физическом томе, иначе при попытке
 восстановления; вы не только не восстановите логический том,
 но и можете повредить текущий.
 
ну и наконец параметры в "data"
 
       Здесь указываем каталоги которые мы хотим копировать.
И здесь тоже одно важное замечание - для исключения подкаталогов
из задачи копирования необходимо их прописывать раньше  каталога
родителя, который нам нужен, как в моём примере: 
 
сначала я пишу исключения:

а потом каталог

 иначе каталог /var  будет скопирован полностью 
 
6) Запуск 
 
#генерируем ключи
safekeep --keys --deploy
#запускаем первый бэкап, обязательно вручную, чтобы ввести ваш пароль для ssh доступа на сервер
safekeep -v --server 
 
      После завершения вы увидите сообщение о завершении и другую информацию,
а также получите письмо с таким же отчётом на свой электронный адрес 

чтобы поменять время запуска резервного копирования поправьте файл
/etc/cron.daily/safekeep 
 
  • Установка клиента
      На клиенте:
yum --enablerepo=rpmforge install rdiff-backup safekeep-client
 
      На сервере создаём файл с настройками копирования
nano -w /etc/safekeep/backup.d/client1.backup
 
      За пример можно взять конфигурацию сделанную выше.
Не забываем правильно поменять значение "host name",
например name="client1.domain.com" ;
      Если ваша клиентская машина не имеет dns имени, то добавьте его на сервер,
например так:
 
nano -w /etc/hosts
#---ДОБАВИТЬ---
192.168.1.3	client1.domain.com 
 #---ДОБАВИТЬ---
 
#генерируем ключ на сервере
safekeep --keys --deploy client1
#делаем первый запуск для конкретного клиента
safekeep -v --server client1

       Если во время первого бекапа программа указала вам ошибки
 и вы их исправили, иногда возникает необходимость удалить снимки LVM
 и rdiff-backup каталоги командой:
safekeep --server --cleanup

  • Восстановление
    
    
    Для восстановления файлов используйте следующую команду:
     
    #например восстановим все файлы с каталога /root трёхдневной давности
    rdiff-backup -r 3D /backup/safekeep/localhost/root /root

Комментарии