openldap 備份與導入 及相關問題


摘要:

  對openldap進行備份時,直接使用slapcat命令進行備份,使用ldapadd還原出現問題及解決。

 

介紹:

  對openldap進行備份時,直接使用slapcat命令進行備份(如代碼一),然后使用ldapadd還原會出現以下報錯信息:

  ldap_add: Constraint violation (10)

  additional info: structuralObjectClass: no user modification allowed

#代碼一:
slapcat -v -l ldapbackup.ldif

  分析原因:slapcat備份出來的ldapback.ldif中有系統自動生成的系統信息不能導入需要清除

  解決方案:清除ldapback.ldif中的系統信息

  步驟:

  1、新建過濾正則表達式slapcat.regex

cat >slapcat.regex <<EOF
/^creatorsName: /d
/^createTimestamp: /d
/^modifiersName: /d
/^modifyTimestamp: /d
/^structuralObjectClass: /d
/^entryUUID: /d
/^entryCSN: /d
EOF

  2、過濾掉系統信息

cat ldapback.ldif | sed -f slapcat.regex > slapdata.ldif

  3、使用ldapadd導入

ldapadd -H ldap://127.0.0.1 -x -D "用戶" -f slapdata.ldif -w 密碼
#或 服務器程序導入 初始使用可能失敗
#slapadd -l slapdate.ldif

 

 

  備份方案二:

ldapsearch -x -b 'dc=com,dc=cn' > ldapbackup.ldif

  

其他方案:

  [方法1]

  關閉:kill -INT `cat /var/run/slapd.pid`
  啟動:/usr/sbin/slapd
  備份:/usr/sbin/slapcat>mail_ldap.ldif
  導入:ldapadd -x -D "cn=Manager,dc=domain,dc=com" -w secret -v -f mail_ldap.ldif
  關閉模式導入:
  slapadd -l mail_ldap.ldif -f /etc/openldap/sladp.conf

  [方法2]

  系統突然掉電或重啟引起LDAP數據庫意外關閉造成的。

  進入ldap數據目錄(/openldap/var/openldap-data),執行db_recover,再啟動服務.

  /var/lib/ldap slapd db_recover

 

參考:

  [1] linewer.Ldap相關問題小結.http://blog.chinaunix.net/uid-10328574-id-2951045.html.2013-10-08

  [2] shrekmu.手工備份恢復Openldap數據庫.http://blog.csdn.net/shrekmu/article/details/1266361.2013-10-08

  [3] nonnie.OpenLDAP的手工備份與恢復.http://blog.163.com/nonnie@126/blog/static/57630308201091194938915/.2013-10-08

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM