sbe*_*der 43
SourceRebels答案的问题是slapcat(8)不能保证为ldapadd(1)/ 订购数据ldapmodify(1).从手册页:
The LDIF generated by this tool is suitable for use with slapadd(8). As the entries are in database order, not superior first order, they cannot be loaded with ldapadd(1) without first being reordered.
另外,使用使用后端文件转储数据库的工具,然后使用通过ldap协议加载ldif的工具不是很一致.
我建议使用slapcat(8)/ slapadd(8) OR ldapsearch(1)/的组合ldapmodify(1).我倾向于后者,因为它不需要shell访问ldap服务器或移动文件.
例如,从dc = master,dc = com下的主服务器转储数据库,并将其加载到备份服务器中
$ ldapsearch -Wx -D "cn=admin_master,dc=master,dc=com" -b "dc=master,dc=com" -H ldap://my.master.host -LLL > ldap_dump-20100525-1.ldif $ ldapadd -Wx -D "cn=admin_backup,dc=backup,dc=com" -H ldap://my.backup.host -f ldap_dump-20100525-1.ldif
上面的-W标志提示输入ldap admin_master密码,但是由于我们将输出重定向到文件,您将看不到提示 - 只是一个空行.继续输入您的ldap admin_master密码,它会起作用.在运行ldapadd之前,需要删除输出文件的第一行(输入LDAP密码:).
最后提示,ldapadd(1)是一个硬链接ldapmodify(1)与-a(添加)标志开启.
Joe*_*oel 16
ldapsearch和ldapadd不一定是克隆LDAP DB的最佳工具.slapcat和slapadd是更好的选择.
用slapcat导出你的数据库:
slapcat > ldif
Run Code Online (Sandbox Code Playgroud)
使用slapadd导入数据库(确保LDAP服务器已停止):
slapadd -l ldif
Run Code Online (Sandbox Code Playgroud)
小智 6
我更喜欢通过协议复制数据库:
首先要确保两台服务器上都有相同的模式.
-dmp 数据库使用ldapsearch:ldapsearch -LLL -Wx -D"cn = admin,dc = domain"-b"dc = domain"> domain.ldif
- 并将其导入新服务器:
ldapmodify -Wx -D"cn = admin,dc = domain"-a -f domain.ldif
在线:
ldapsearch -LLL -Wx -D"cn = admin,dc = domain"-b"dc = domain"| ldapmodify -w pass -x -D"cn = admin,dc = domain"-a
通过使用bin/ldap*命令,您正在使用bin/slap*命令直接与服务器通信,而您正在处理后端文件
| 归档时间: |
|
| 查看次数: |
80884 次 |
| 最近记录: |