我的服务器坏了,我不得不紧急将它重新安装。我需要重新安装系统,由于时间紧迫,我偷懒地将我认为必要的目录(/etc
、/opt
和)复制到外部磁盘并格式化系统。/root
/var
cp
现在,我需要恢复我的 LDAP 配置和数据,但我没有正确备份。我仍然拥有每个文件,因为它们存储在 中/var
,但将它们复制到同一位置并启动slapd
失败。我在 上收到以下消息/var/log/messages
:
Aug 25 21:02:33 localhost slapd[2664]: @(#) $OpenLDAP: slapd 2.4.38 (Aug 25 2014 16:04:17) $
@host:/var/tmp/portage/net-nds/openldap-2.4.38-r2/work/openldap-2.4.38-abi_x86_64.amd64/servers/slapd
Aug 25 21:02:33 localhost slapd[2667]: hdb_db_open: database "dc=my,dc=host,dc=com": alock package is unstable.
Aug 25 21:02:33 localhost slapd[2667]: backend_startup_one (type=hdb, suffix="dc=my,dc=host,dc=com"): bi_db_open failed! (-1)
Aug 25 21:02:33 localhost slapd[2667]: slapd stopped.
Aug 25 21:02:33 localhost /etc/init.d/slapd[2663]: start-stop-daemon: failed to start `/usr/lib64/openldap/slapd'
Aug 25 21:02:33 localhost /etc/init.d/slapd[2647]: ERROR: slapd failed to start
我再次强调,我既有旧配置文件,也有 verbatin 数据库文件副本。如果可以用它恢复,我该怎么做?
答案1
我刚刚从 ubuntu 12.04 中的文件完成了 ubuntu14.04 上 openldap 的恢复,为这两个目录恢复了文件。请务必先备份当前内容。
As root
1. backup contents of /var/lib/ldap/*
2. backup contents of /etc/ldap/*
3. sudo service slapd stop
4. clear out /var/lib/ldap/*
5. clear out /etc/ldap/*
6. cp [backup]/var/lib/ldap/* /var/lib/ldap/
7. cp [backup]/etc/ldap/* /etc/ldap/
8. chown openldap /etc/ldap/*
9. sudo service slapd start