linux - 如何克隆 OpenLDAP 数据库

标签 linux ldap redhat openldap

我知道这更像是一个 serverfault 问题而不是 stackoverflow 问题,但由于 serverfault 尚未启动,我开始吧:

我应该将应用程序从一台 redhat 服务器移动到另一台服务器,并且没有很好地了解应用程序的内部工作原理,我将如何将 OpenLDAP 数据库从一台机器移动到另一台机器,以及模式和所有.

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

最佳答案

SourceRebels' answer 的问题是slapcat(8)不保证ldapadd(1)/ldapmodify(1)的数据是有序的。

来自 man slapcat (来自 OpenLDAP 2.3):

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.

(仅供引用:在 OpenLDAP 2.4 中,section was rephrased 并已扩展。)

加上使用一个工具,使用后端文件转储数据库,然后使用一个通过ldap协议(protocol)加载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 密码并 enter 即可。在运行 ldapadd 之前,需要删除输出文件的第一行(Enter LDAP Password:)。

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

关于linux - 如何克隆 OpenLDAP 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/792563/

相关文章:

active-directory - LDAP_MATCHING_RULE_IN_CHAIN 究竟做了什么?

linux - 无法为安装在 linux redhat 服务器上的 R studio 安装 Devtools 包

linux - gedit 无响应如何保存我的文件?

linux - 如何在 Redhat linux 终端中将 Fortran 与 Abaqus CAE 6.14 链接起来?

linux - 如何用 C 代码强制设置 MTU?

java - Spring LDAP 对象目录映射器注释缺少属性

C# LDAP 查询以获取特定组中用户的管理员

linux - 与 powershell 相比,Bash base64 有一个附加字符而不是 equals

linux - 运行进程nohup

php - BouncyCasSTLe 登录 PHP/OpenSSL