我知道这更像是一个serverfault问题,而不是stackoverflow问题,但既然serverfault还没有出现,我来:
我应该将一个应用程序从一个redhat服务器移动到另一个服务器,在不了解应用程序内部工作原理的情况下,如何将OpenLDAP数据库从一台机器移动到另一台机器,以及模式和所有模式.
我需要复制哪些文件?我相信设置是相当标准的.
我知道这更像是一个serverfault问题,而不是stackoverflow问题,但既然serverfault还没有出现,我来:
我应该将一个应用程序从一个redhat服务器移动到另一个服务器,在不了解应用程序内部工作原理的情况下,如何将OpenLDAP数据库从一台机器移动到另一台机器,以及模式和所有模式.
我需要复制哪些文件?我相信设置是相当标准的.
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/ldapmodify(1)
的组合.我更喜欢后者,因为它不需要对ldap服务器进行shell访问,也不需要四处移动文件.
例如,在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 password,但由于我们将输出重定向到一个文件,您将看不到提示——只是一个空行.继续输入ldap管理员主密码,它就会工作.在运行ldapadd之前,需要删除输出文件的第一行(输入LDAP密码:).
最后一个提示是,在-a
(添加)标志打开的情况下,ldapadd(1)
是指向ldapmodify(1)
的硬链接.