Backup для Zimbra Open Source Edition — это просто!!!

Zimbra Open Source Edition — отличная замена платного MS Exchange. Продукт бесплатный, свободнораспостраняемый, но…ZCS Open Source Edition имеет существенный недостаток — комплекте с системой нет модуля для резервного копирования. 🙁 Он есть только в платных версии продукта.

Известная поговорка гласит, что «системные администраторы делятся на 2 категории: те, кто уже делает бекапы и те, кто еще не делает». Мы уже делаем 🙂 И очень давно 🙂
Процедуру создания  backup-а можно разбить на следующие пункты:

  1. Что бекапить? Определение того, что именно следует включить в резервную копию.
  2. Как часто? Тип? Определение частоты и типа резервного копирования (полный или инкрементальный)
  3. Чем бекапить? Определение программных (аппаратных) средств, которыми будет произведено резервное копирование.
  4. Проверка. Выполнение процедуры backup.
  5. Тестирование. Отработка аварийного сценария по восстановлению данных из  backup-а.

Условия

Что мы имеем?
ОС: Ubuntu Linux 32-bit 8.04 LTS
Zimbra: 7.1.0 GA Release

К делу!!!

Отвечаем на свои же вопросы выше.

Что бекапить?

Все, что нам необходимо, находится в каталоге /opt/zimbra. Вот его мы и будем бекапить.

Как часто? Тип?

Раз в год перед хелоуином,  шутка 🙂
Допустим, мы решили делать ежедневный полный backup. Просто, надежно, универсально.

Чем бекапить?

Мы не будем использовать платные утилиты,  ведь мы любим Open Source 🙂 Тем более, что нам необходимо архивировать только каталог с вложенными файлами и подкаталогами, а не всю систему.  Такой подход позволит нам существенно уменьшить размер backup-a и сократить время восстановления.

Набор средств для выполнения данной процедуры определяем так: rsync, dar, cron и (для отправки отчетов по почте) mailx-dummy.

Обращаемся к сообществу — а не сделал ли кто до нас вышеуказанную связку в готовый bash-скрипт? Люблю Open Source!!! 😀 Как и ожидалось, готовый скрипт был найден на сайте www.osoffice.de Он абсолютно подходит для выполнения как полного, так и для инкрементального backup-a по расписанию. К тому же, скрипт умеет существенно сжимать объем полученной резервной копии.

Установка скрипта выполняется достаточно просто. Скрипту необходимо дать права на исполнение и стартовать его с ключом -INSTALL. Запустится встроенный мастер, который создаст расписание, спросит о типе выполняемого backup-а, создаст папку на диске для хранения backup-ов (поддерживаются ftp, scp).

Проверка.

Мы конечно можем дождаться времени выполнения  backup по расписанию и лишь тогда насладиться результатами проделанной работы, а можем поступить проще — выполнить скрипт еще раз, но на этот раз с ключом -f.  Эта команда запустит процедуру полного копирования и выведет полученные результаты на экран.

!!! ВАЖНО!!! Процедуру выполнения полного backup-а скрипт может выполнить только один раз в день. В теле скрипта заложена проверка даты предыдущей резервной копии, он не допускает совпадения дат.

Тестирование.

По аварийному сценарию,  на хелоуин 🙂 выходит из строя RAID, но нам это не страшно — у нас есть резервная копия на отчуждаемом носителе.

План действий по восстановлению следующий:

  • воссоздаем RAID чистенький и свеженький,
  • устанавливаем на него Ubuntu 8.04 LTS
  • устанавливаем ту же версию Zimbra, которая у нас лежит в резервной копии,
  • выполняем команду
  • Теперь создаем новый каталог zimbra в каталоге /opt, в него перемещаем полученный .dar за нужную дату, и выполняем следующую команду:
  • перезагружаем сервер

Заходим, проверяем — все работает. А по-другому и быть не может!!! 🙂