Причины по которым может понадобится экспортировать-импортировать базу данных Zimbra LDAP могут быть самыми разными, от восстановления учетных записей пользователей, до перехода на систему с другой архитектурой процессора (например с x86 на x64). В этой статье описано, как экспортировать всю LDAP базу Zimbra в файл, и как ее импортировать из файла.
Стоит заметить, что экспорт/импорт LDAP не стоит использовать для апгрейда, т.к. и сами данные и их структура меняются от версии к версии. Пэтому, если вы экспортировали базу из Zimbra 4.5.5, то импортировать эти данные можно только в Zimbra 4.5.5.
На заметку для тех, к кого есть коммерческая лицензия (Network Edition): база LDAP экспортируется в процессе резервного копирования.
Кратко о Zimbra LDAP
LDAP расшифровывается как Lightweight Directory Access Prototol. Иерархическая база LDAP предназначена для того, чтобы хранить данные, которые часто считываются и редко меняются. Поэтому протокол LDAP оптимизирован именно для быстрого считывания.
Zimbra LDAP есть иерархическая база данных (директория) на движке OpenLDAP. В базе Zimbra LDAP хранятся конфигурация системы, учетные записи пользователей и хеши паролей, учетные записи серверов, доменов и классов сервиса (Class of Service). Большая часть этих данных доступна через панель администрирования или через утилиту коммандной строки zmprov. В базе LDAP НЕ хранятся почтовые сообщения и личные адресные книги пользователей.
Экспорт LDAP в файл
Всю базу можно сбросить в один .LDIF файл при помощи утилиты slapcat.
su - zimbra
openldap/sbin/slapcat -f /opt/zimbra/conf/slapd.conf -l /tmp/ldap.ldif
и все. Теперь в файле /tmp/ldap.ldif содержится вся база LDAP.
Удаление данных из LDAP
ВНИМАНИЕ! Не делайте этого на работающей системе. Эта процедура удалит все учетные записи пользователей Zimbra и их пароли. Эту процедуру нужно проделать только в том случае, если вы собираетесь импортировать в эту систему ранее сохраненную базу Zimbra LDAP. Перед импортированием, старые данные необходимо удалить. Итак, удаляем:
su - zimbra
zmcontrol stop
ps auxx | grep slapd
(If ldap is still running, kill it)
rm -f openldap-data/*
Импорт данных в LDAP
Тут все также просто, как и экспорт:
su - zimbra
openldap/slapadd -f /opt/zimbra/conf/slapd.conf -l /tmp/ldap.ldif
Проверка
openldap/slapcat -f /opt/zimbra/conf/slapd.conf
или
zmprov gaa – эта комманда выдаст список всех учетных записей пользователей Zimbra.