Резервное копирование и восстановление почтовых ящиков в Zimbra Collaboration 8.6

В этой статье мы разбирали как развернуть Zimbra Collaboration 8.6 на Ubuntu 14.04 Trusty Tahr . В бесплатной версии почтового сервера нет удобного функционала по бекапу и восстановлению почтовых ящиков. А создание бекапов, есть неотъемлемая часть работы любого системного администратора. Да и наличие бекапа всегда нас спасет в трудную минуту.

 

Создавать бекапы и восстанавливать их же будем посредством Bash скриптов. Создавать и восстанавливать почтовые ящики мы будем на горячую так сказать, без остановки почтового сервера.

 

Резервное копирование всех почтовых ящиков

Создаем текстовый файл и делаем его исполняемым:

В созданный скрипт вписываем следующее (в параметрах настроек скрипта указываем данные свои):

В ходе выполнения скрипта, сначала формируется список всех почтовых ящиков имеющихся в указанном домене, затем по каждому почтовому ящику создается бекап, в конце создается лог файл. Пример вывода работы скрипта:

Лог файл выглядит вот так:

Теперь можно скрипт закидывать в cron и быть спокойным что у нас всегда будет под рукой бекап почтовых ящиков.

 

Резервное копирование конкретного почтового ящика

Выше мы рассмотрели как бекапить все имеющиеся почтовые ящики в домене, а если нам нужно создать бекап только одного почтового ящика, то мы для удобства работы немного изменим скрипт. Создаем текстовый файл и делаем его исполняемым:

В созданный скрипт вписываем следующее (в параметрах настроек скрипта указываем данные свои):

В ходе выполнения скрипта запрашивается у пользователя имя почтового ящика и создается бекап указанного почтового ящика, в конце создается лог файл. Пример вывода работы скрипта:

Лог файл выглядит вот так:

Мы получили удобный в работе скрипт по созданию бекапа отдельно взятого почтового ящика.

Теперь рассмотрим как восстановить из бекапа почтовые ящики.

 

Восстановление почтового ящика из резервной копии

Для того что бы восстановить из бекапа почтовый ящик, я ниже представлю скрипт, через который это будет удобно делать. В скрипте реализовано как ввод за какую дату использовать для восстановления бекап, так же указание имени почтового ящика. Если за указанную дату и указанный букап существует, то он автоматически восстановится.

Так же учтен такой момент, как наличие почтового аккаунта в Zimbra, т.е. допустим уже удален почтовый аккаунт, но есть бекап почтового ящика удаленного аккаунта. Если просто восстановить из бекапа почтовый ящик, то толку не будет, нужно предварительно создать аккаунт и только потом восстанавливать из бекапа ящик. Скрипт делает это в автоматическом режиме, т.е. он проверяет наличие аккаунта и если он есть, то просто восстанавливает ящик, а если его нет, то он создается и следом восстанавливается ящик.

Создаем текстовый файл и делаем его исполняемым:

В созданный скрипт вписываем следующее (в параметрах настроек скрипта указываем данные свои):

В ходе выполнения скрипта запрашивается сперва дата бекапа, затем имя почтового аккаунта (без указания домена), следом идет проверка существования аккаунта в Zimbra (в случае его отсутствия, он создается) и производится восстановление почтового ящика, в конце создается лог файл. Пример вывода работы скрипта (при условии что аккаунт в Zimbra отсутствует):

Лог файл выглядит вот так:

Вот такими способами можно легко делать резервные копии почтовых ящиков и с той же легкостью восстанавливать их из резервной копии.

 

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

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (5 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 24 Комментировать

  1. Сергей /

    У Вас реализованы готовые скрипты для бэкапирования отдельных почтовых ящиков zimba.
    Большое Вам Спасибо! Очень помогло!

    1. Жаконда / Автор записи

      Всегда пожалуйста !

      1. Василий /

        Спасибо за скрипт! А как бэкапите саму зимбру? Чтобы в случаее выхода сервера из строя можно было восстановить сервер

        1. Жаконда / Автор записи

          Добрый день ! Пользуйтесь на здоровье ! Саму зимбру никак не бекаплю, нет смысла, т.к. разворачивается она быстро, главное при переносе или пере установке это бекап ящиков, списков рассылки и само собой аккаунтов.

          1. Mr.Light /

            а списки рассылок и аккаунты ты тоже этим скриптом бэкапишь?

  2. Костя /

    Спасибо, отличный скрипт. А стоит ли останавливать сервис зимбры перед бекапом ящиков? Что-бы ничего не изменилось в момент бекапа.

    1. Жаконда / Автор записи

      Пожалуйста ! Ну бекап обычно делается ночью, а ночью обычно не работают, хотя могут и работать 🙂 Ну при желании конечно можно и останавливать зимбру, тут дело дальше как кому удобней

      1. Алексей /

        >>а ночью обычно не работают,
        Ну я бы так так не сказал, у нас например комерческие рассылки в ночь отрабатывают, в принципе как и многих.

  3. Алексей /

    Добрый день! Если я правильно понял, выше привеленные сценарии делают полный бекап всех/одного я щика соответственно. Не расматривали ли возможность инкрементного бекапа если полная копия уже существует? И еще один вопрос: сколько по времени занимает создание полной резервной копии, ну например 150 ящиков?

    1. Жаконда / Автор записи

      Добрый день ! Нет, инкрементный бекап не рассматривал, там в разы гемор добавляется и не факт что вообще получится скриптом делать его..

      По затраты времени создания бекапа, тут все индивидуально, все зависит сколько весит каждый ящик, если все 150 ящиков весят в среднем по 10Мб, то бекап их будет очень быстрый.. соответственно если больше то и время будет увеличиваться.

      1. Алексей /

        >>если больше то и время будет увеличиваться.
        Вот в том то и дело. Главным требованием руководства при создании сервера было сохранение всей почты за весь цикл жизни почтового домена, домен существует года с 10-11 точно ни знаю, сервер с 13, большая часть ящиков мигрировала от хостера. В итоге имеем порядка 20 ящиков объемом ~15-50 гб, всего порядка 150 ящиков в двух доменах на одном сервере. Теперь и не знаю что со всем этим делать.

        1. Алексей /

          Сейчас это все резервируется rsync-ом, но есть траблы с востановлением — занимает достаточно много времени.

          1. Жаконда / Автор записи

            Такие как у вас объемы ящиков, уверен никакой инструмент не будет сохранять быстро..

  4. Pavel /

    После обновления с 8.6 на 8.7 при выполнении /opt/zimbra/bin/zmmailbox -z -m $Mail_name»@»$Domain происходит ошибка

    ERROR: zclient.IO_ERROR (invoke sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, server: localhost) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)

    Что может быть, не подскажите?

    1. Жаконда / Автор записи

      Судя по ошибке проблема в сертификате. Попробуйте его пересоздать.

      1. Pavel /

        /opt/zimbra/bin/zmcertmgr deploycrt пересоздал сертификаты заново — и все заработало.
        Спасибо за скрипт

  5. Жаконда / Автор записи

    Ув. roman@kovenya.ru, я не могу разместить ваши посты. Рад что вы модернизировали скрипт под свои нужны, но данный блог про мои труды.

    1. orangefruit /

      Печаль. Надо пилить свой блог =) Тем не менее присмотритесь к моим решениям, возможно найдёте для себя что-то интересное.

      1. Жаконда / Автор записи

        Спасибо, мой вариант скрипта писался строго под мои нужны и он меня более чем устраивает на данный момент 😉 У меня нет сложностей расширить его в случае надобности.

  6. gr /

    А есть вариант восстановления списка ящиков?

    1. Жаконда / Автор записи

      Есть конечно, в статье он описан

  7. gr /

    не совсем правильно выразился наверное, восстановление архивов почты по списку ящиков. не одного почтового ящика, а нескольких ..

    1. Жаконда / Автор записи

      Такого скприта я не писал, т.к. не видел в нем надобности для себя. Но все возможно, восстанавливать к примеру из списка..

  8. Евгений /

    У вас был опыт восстановления из бекапа почтового ящика более 1 гигабайта?
    Столкнулся с проблемой что зимбра рабивает инбокс на несколько инбоксов с индексом и пользователь ругается, что все разбилось по папкам.

Оставить ответ

четырнадцать − восемь =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика