本文介绍如何从Backup恢复Zimbra LDAP数据库,这是恢复的有用方法之一,要使用此方法,你需要在LDAP配置处于良好状态时进行先前的备份。我在尝试启动Zimbra(在Ubuntu 18.04系统下安装Zimbra Desktop的方法)服务时遇到了错误: $ zmcontrol start Host mail.mydomain.com Starting ldap…Done. Unable to determine enabled services from ldap. Unable to determine enabled services. Cache is out of date or doesn't exist. 经过大量的故障排除后,我注意到问题是LDAP数据库无法修复,解决此问题的唯一方法是重建LDAP数据库。
一、停止Zimbra服务 在我的服务器中,我有一个位于/opt/zimbra/backup目录下的最新Zimbra LDAP备份,但首先你需要停止所有的Zimbra服务: $ zmcontrol stop
二、备份Zimbra LDAP数据 服务停止后,备份旧数据,需要以root用户身份运行它: mv /opt/zimbra/data/ldap/config/ /opt/zimbra/data/ldap/OLDconfig/ mv /opt/zimbra/data/ldap/mdb/db /opt/zimbra/data/ldap/mdb/OLD_db/ 然后重新创建LDAP数据文件夹并为其提供正确的权限: mkdir -p /opt/zimbra/data/ldap/mdb/db /opt/zimbra/data/ldap/mdb/logs chown -R zimbra:zimbra /opt/zimbra/data/ldap /opt/zimbra/libexec/zmfixperms -verbose
三、从备份恢复Zimbra LDAP数据库 现在您已将数据目录清空,请导航到包含LDAP备份的目录,如果备份已归档,则需要在还原之前将其解压缩: $ cd /opt/zimbra/backup/sessions/incr-20190218.230007.912/ldap $ ls ldap.bak.gz ldap-config.bak.gz 解压缩Zimbra LDAP配置文件: $ gunzip *.gz $ ls ldap.bak ldap-config.bak 使用slapadd命令恢复ldap-config.bak,以zimbra用户身份运行: $ slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l ldap-config.bak added: "cn=config" (00000001) added: "cn=module{0},cn=config" (00000001) added: "cn=schema,cn=config" (00000001) added: "cn={0}core,cn=schema,cn=config" (00000001) added: "cn={1}cosine,cn=schema,cn=config" (00000001) added: "cn={2}inetorgperson,cn=schema,cn=config" (00000001) added: "cn={3}dyngroup,cn=schema,cn=config" (00000001) added: "cn={4}zimbra,cn=schema,cn=config" (00000001) added: "cn={5}amavisd,cn=schema,cn=config" (00000001) added: "cn={6}opendkim,cn=schema,cn=config" (00000001) added: "olcDatabase={-1}frontend,cn=config" (00000001) added: "olcDatabase={0}config,cn=config" (00000001) added: "olcDatabase={1}monitor,cn=config" (00000001) added: "olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={0}dynlist,olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={1}unique,olcDatabase={2}mdb,cn=config" (00000001) added: "olcOverlay={2}noopsrch,olcDatabase={2}mdb,cn=config" (00000001) ############## 100.00% eta none elapsed none fast! Closing DB… 为ldap.bak做同样的事情: $ slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv -l ldap.bak
四、启动Zimbra服务 恢复后,尝试启动所有Zimbra服务,可以从LDAP服务开始: ldap start ldap status 如果成功,则启动所有其他Zimbra服务: # su - zimbra $ zmcontrol start Host mail.mydomain.com Starting ldap…Done. Starting zmconfigd…Done. Starting logger…Done. Starting convertd…Done. Starting mailbox…Done. Starting memcached…Done. Starting proxy…Done. Starting amavis…Done. Starting antispam…Done. Starting antivirus…Done. Starting opendkim…Done. Starting snmp…Done. Starting spell…Done. Starting mta…Done. Starting stats…Done. Starting service webapp…Done. Starting zimbra webapp…Done. Starting zimbraAdmin webapp…Done. Starting zimlet webapp…Done. Starting imapd…Done. 检查状态应显示所有正在运行的服务: $ zmcontrol status
你现在应该能够访问Zimbra Admin UI并执行正常的电子邮件管理任务。
相关主题 |