作弊条: ldapmodify 删除项目属性
随便记一笔,备忘。
形如:
| |
这样一个项目,希望把后三项删掉。
随便记一笔,备忘。
形如:
| |
这样一个项目,希望把后三项删掉。
之前用的邮件系统是基于 postfix、Cyrus IMAPd、amavisd-new等软件在2006年搭建的,跑了5年多,作为不折腾会死星人,对这套系统一直有相当多的不满意,举例来说:
📜 历史文件已不具备现实意义
OpenLDAP 现已转为使用 lmdb。
今天帮陈总研究一个奇怪的问题的时候误操作导致机器停止ssh响应,遂请机房重启。由于机房做的是power cycle,导致部分数据丢失。先前在配置OpenLDAP时,忘记在其中配置checkpoint,另外也没有对这台机器的LDAP进行备份,因此只好尝试从现有的数据库中恢复。冗余不做,日子甭过;备份不做,十恶不赦!
记录一下修复过程。
第一件事是把出问题的数据库做一份备份:rsync -av /var/db/openldap-data/ /var/db/openldap-data.old/
接着尝试slapcat。出现下面的错误:
| |
尝试使用BerkeleyDB的修复工具修复:
| |
slapcat发现问题依旧。搜索Google发现答案基本上都是从备份中恢复,看了一下Oracle的网站,关于这类问题也没有很好的办法。尝试将bdb文件dump出来再load回去:
| |
再次slapcat,发现对另一文件报错,用类似的方法修补之后,slapcat成功。
将slapcat的输出导出到一个文件中: slapcat > /tmp/my.ldif
然后,删除OpenLDAP数据目录:rm /var/db/openldap-data/_* /var/db/openldap-data/[a-z]*
最后,重新使用导出的ldif文件恢复:slapadd -l /tmp/my.ldif。
至此,恢复完成。