我使用 slapcat 进行备份,如下所示:
slapcat -n 1 > ${BACKUP_PATH}/ldap.domain.com.ldif
然后使用 slapadd 导入:
slapadd -F /etc/ldap/slapd.d -n 1 -l ldap.domain.com.ldif
由于操作属性的原因,我无法通过这种方式恢复我的备份。
我有错误,例如:
structuralObjectClass: no user modification allowed
是否可以在没有操作属性的情况下进行备份或以某种方式使用它们导入?
答案1
取自http://www.openldap.org/lists/openldap-software/200504/msg00195.html
您不能更改这些,因为它们是内部的。
将它们从 LDIF 中删除或使用开关-c
(危险)。
slapadd -F /etc/ldap/slapd.d -n 1 -c -l ldap.domain.com.ldif
至于一开始就不写它们,请通过egrep管道输出以修剪它们:
slapcat -n 1 | egrep -v "^(structuralObjectClass|entryUUID|creatorsName|modifiersName|createTimestamp|modifyTimestamp|entryCSN):" > ${BACKUP_PATH}/ldap.domain.com.ldif
从http://vaab.blog.kal.fr/2010/03/10/import-export-ldap-database/
我认为这是一个错误slapcat
,至少,它应该有一个选项“不”输出这些东西。