如何克隆 OpenLDAP 数据库

新手上路,请多包涵

我知道这更像是一个 serverfault 问题而不是 stackoverflow 问题,但是由于 serverfault 还没有启动,所以我开始了:

我应该将应用程序从一台 redhat 服务器移动到另一台服务器,并且在不非常了解应用程序的内部工作原理的情况下,我将如何将 OpenLDAP 数据库从一台机器移动到另一台机器,以及模式和所有内容。

我需要复制哪些文件?我相信设置是相当标准的。

原文由 elzapp 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 589
2 个回答

SourceRebels 回答 的问题是 slapcat(8) 不能保证数据是为 ldapadd(1) / ldapmodify(1) 的。

来自 man slapcat (来自OpenLDAP 2.3):

此工具生成的 LDIF 适合与 slapadd(8) 一起使用。
由于条目是按数据库顺序排列的,而不是优先顺序,它们
如果不先重新排序,则无法使用 ldapadd(1) 加载。

(仅供参考:在 OpenLDAP 2.4 中,该 部分被改写 和扩展。)

加上使用一个工具,使用后端文件转储数据库,然后使用一个通过ldap协议加载ldif的工具,不是很一致。

我建议使用 slapcat(8) / slapadd(8) 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 之前,需要删除输出文件的第一行( Enter LDAP Password: )。

最后一个提示, ldapadd(1) 是到 ldapmodify(1) 的硬链接,且 -a (添加)标志打开。

原文由 sberder 发布,翻译遵循 CC BY-SA 4.0 许可协议

ldapsearch 和 ldapadd 不一定是克隆 LDAP 数据库的最佳工具。 slapcat 和 slapadd 是更好的选择。

使用 slapcat 导出数据库:

 slapcat > ldif

使用 slapadd 导入数据库(确保 LDAP 服务器已停止):

 slapadd -l ldif

原文由 Joel 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏