Главная
» Как сделать
»
Создание резервной копии и восстановление почтового ящика Zimbra CE с помощью экспорта TGZ.
Создание резервной копии и восстановление почтового ящика Zimbra CE с помощью экспорта TGZ.
Для резервного копирования почтового ящика Zimbra Community Edition (CE) экспортируйте его в файл TGZ с помощью команды `npm run txt` zmmailbox getRestURL, проверьте архив и восстановите его с помощью команды `npm postRestURLrun txt`. При импорте в учетную запись, которая уже содержит почту, начните с команды `npm run txt` resolve=skip; использование resolve=resetкоманды `npm run txt` в корне почтового ящика может удалить существующие элементы.
Поймите, что защищает экспорт данных по каждому почтовому ящику отдельно.
Zimbra документирует экспорт и импорт TGZ через свой REST-интерфейс и zmmailboxутилиту. Архив предназначен для хранения содержимого почтового ящика и структуры папок, включая электронные письма, упакованные в файлы EML, а также соответствующие данные календаря, контактов, задач или портфеля. То, какое именно содержимое и метаданные сохранятся после импорта, может зависеть от версий источника и назначения, а также от передаваемых элементов.
Не путайте это с полным резервным копированием учетной записи или сервера. Экспорт контента TGZ не создает отсутствующую учетную запись и не сохраняет все атрибуты LDAP, пароли, псевдонимы, назначения классов обслуживания, настройки маршрутизации, фильтры, права доступа или конфигурацию сервера. Запишите все необходимые настройки учетной записи отдельно, используя административные процедуры. Утилита, zmbackupописанная в более старой документации Zimbra, относится к Network Edition, а не к стандартному рабочему процессу CE.
Примеры команд соответствуют описанным интерфейсам Zimbra, но они не являются реальным тестированием каждой независимо собранной версии CE. Перед планированием восстановления производственной среды проверьте zmcontrol -vдоступную zmmailboxсправку и примечания к выпуску вашей сборки. Также не следует предполагать, что экспорт REST в реальном времени зафиксирует один идеально согласованный момент, если пользователь изменяет элементы во время его выполнения. Запланируйте период низкой активности, когда важна согласованность.
Экспорт отдельного почтового ящика
1. Определите учетную запись и ее почтовый хост.
Подключитесь к серверу Zimbra, используя учетную запись операционной системы с правами администратора. Переключитесь на пользователя службы Zimbra, а затем убедитесь, что целевая учетная запись существует. В многосерверной конфигурации убедитесь, что вы подключаетесь к правильной службе почтовых ящиков.
Замените user@example.comна реальную учетную запись. Переключатель -zиспользует локальные учетные данные администратора Zimbra; это не пароль конечного пользователя. Если у вас нет необходимых административных прав, используйте утвержденный рабочий процесс доступа к учетной записи вместо встраивания паролей в команду оболочки.
Перед началом экспорта проверьте адрес почтового ящика, сервер хостинга и состояние учетной записи.
2. Создайте личное архивное хранилище.
От имени пользователя с привилегиями в операционной системе создайте папку, доступную для записи пользователем службы Zimbra. Сделайте это вне общедоступных каталогов и сначала проверьте наличие свободного места. Перед переключением на другую учетную запись выполните команду установки zimbraили вернитесь к своей учетной записи с привилегиями.
В почтовых архивах могут содержаться конфиденциальные сообщения и вложения. Ограничьте доступ к файловой системе, защитите любые копии, хранящиеся вне сервера, и примените соответствующую политику хранения.
Используйте отдельный каталог для резервного копирования и проверьте права доступа к его файловой системе.
3. Экспортируйте почтовый ящик в формате TGZ.
В zimbraкомандной строке используйте приведенный ниже REST-экспортер. Эта -t 0опция отключает тайм-аут CLI для больших операций; она не гарантирует, что прокси-серверы, дисковый ввод-вывод или ограничения сервера не смогут прервать экспорт.
Для каждой учетной записи выполните один экспорт и выберите уникальное имя файла с указанием даты. Не используйте повторно путь к предыдущему архиву, так как перенаправление в командной оболочке приведет к его усечению. Если команда выдаст ошибку, считайте полученный файл неполным, пока он не пройдет проверки, описанные ниже.
Команда getRestURL записывает сжатый архив почтового ящика в выбранный каталог.
4. Проверьте архив и запишите его контрольную сумму.
Непустой TGZ-файл не является доказательством возможности восстановления резервной копии. Проверьте весь поток tar-архивов, изучите соответствующие записи в папках и рассчитайте дайджест. Неудачная проверка tar-архива означает, что следует исследовать экспорт, а не импорт файла.
test -s /srv/zimbra-mailbox-backups/user-20261010.tgz
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz > /dev/null
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz | head -n 20
cd /srv/zimbra-mailbox-backups
sha256sum user-20261010.tgz > user-20261010.tgz.sha256
Сохраните контрольную сумму рядом с архивом и переместите оба файла в защищенное хранилище за пределами исходного сервера. После копирования запустите команду sha256sum -c user-20261010.tgz.sha256в каталоге, содержащем оба файла. Успешная проверка контрольной суммы подтверждает целостность байтов, а не гарантирует корректное восстановление всех функций почтового ящика.
Перед тем как рассматривать экспортированный файл как пригодную для восстановления копию, необходимо проверить архив.Запишите дайджест SHA-256, чтобы можно было проверить переданный архив на наличие изменений.
Восстановите архив, не перезаписывая текущие почтовые сообщения.
5. Подготовьте и проверьте почтовый ящик получателя.
Если учетная запись назначения еще не существует, создайте ее с помощью стандартного утвержденного процесса подготовки учетных записей Zimbra; импорт TGZ ее не создаст. Проверьте ее адрес, квоту, доступ к сервисам и существующие папки. Для первого теста используйте изолированную непроизводственную учетную запись, особенно для переноса данных между версиями.
Скопируйте проверенный архив в каталог, доступный для чтения пользователю службы Zimbra в целевом каталоге, сохранив при этом ограниченные права доступа. При удаленной передаче повторно проверьте контрольную сумму в целевом каталоге. Не следует предполагать, что учетная запись с тем же адресом пуста.
Перед импортом элементов почтового ящика убедитесь, что целевая учетная запись существует.
6. Импорт с политикой разрешения конфликтов, соответствующей целевому пункту назначения.
Чтобы добавить недостающие элементы, оставив при этом соответствующие элементы на месте, используйте resolve=skip. Это документированное поведение обработки дубликатов по умолчанию, но оно не гарантирует идеального слияния для каждого типа или версии элементов.
Избегайте копирования деструктивного примера в рабочую среду. В документации Zimbra resolve=resetуказано, что перед импортом необходимо очистить целевые элементы. replaceПолитики modifyтакже изменяют способ обработки существующих элементов. Рассматривайте их для контролируемого восстановления только после тестирования и получения одобрения на точный объем учетной записи и папок.
Импортируйте архив с политикой пропуска конфликтов, если необходимо сохранить существующее содержимое почтового ящика.
Обработка сбоев экспорта и проверка восстановления.
Если вы столкнулись с ошибкой таймаута, сохраните -t 0и проверьте значения таймаута сервера или прокси-сервера и лимиты хранилища; нулевой таймаут CLI не решает всех сетевых проблем. В вики-странице поддержки Zimbra также предупреждается о поврежденных архивах и сбоях ввода-вывода при экспорте больших почтовых ящиков. Для экспорта больших объемов или ненадежных данных разделите работу по папкам или датам, а затем протестируйте каждый архив и его импорт на резервном аккаунте.
Например, описанный поисковый запрос under:Inboxвыбирает содержимое папки «Входящие» и её подпапки. Кавычки вокруг REST-адреса необходимы, поскольку амперсанд должен вести к Zimbra, а не к командной оболочке.
Архив, ограниченный папками, не заменяет полный экспорт почтового ящика. Проверьте его содержимое самостоятельно и задокументируйте, какие папки или даты были пропущены. Если учетная запись отключена или запрос возвращает ошибку авторизации, проверьте состояние учетной записи и административную аутентификацию, вместо того чтобы обходить проверку TLS-сертификатов или раскрывать учетные данные.
7. Проверьте восстановленные элементы, а не только завершение команды.
Перечислите целевые папки и сравните их с зарегистрированными исходными папками и данными инвентаризации TGZ:
Затем войдите в целевую тестовую учетную запись и откройте примеры полученных и отправленных сообщений, вложений, контактов и событий календаря. Проверьте даты и пути к папкам, а также просмотрите любые ошибки импорта. При необходимости создайте или проверьте псевдонимы, разрешения на совместное использование, правила и другие параметры уровня учетной записи отдельно. Считайте восстановление успешным только после того, как ожидаемые данные станут доступны и проверки будут зафиксированы.
Сравните восстановленные папки «Входящие», «Отправленные», «Календарь» и другие с ожидаемым содержимым архива.