代码之家  ›  专栏  ›  技术社区  ›  elzapp

如何克隆OpenLDAP数据库

  •  34
  • elzapp  · 技术社区  · 17 年前

    我知道这更像是一个serverfault问题,而不是stackoverflow问题,但由于serverfault尚未启动,因此我决定:

    6 回复  |  直到 16 年前
        1
  •  47
  •   Community Mohan Dere    9 年前

    问题在于 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的工具是不太一致的。

    猫(8) slapadd(8) ldapsearch(1) 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
    

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

        2
  •  20
  •   Joel    15 年前

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

    使用slapcat导出数据库:

    slapcat > ldif
    

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

    slapadd -l ldif
    
        3
  •  9
  •   Archmede    8 年前

    一些任命:

    • 在新服务器上保存个性化模式和对象类定义。例如,您可以在slapd.conf中查找包含的文件以获取它(这是我的slapd.conf的一部分):

    • 在新的openLDAP安装中包括个性化模式和对象类。

    • slapcat 命令将完整LDAP树导出到单个/多个 ldif 文件夹。

    • 使用 ldapadd

        4
  •  8
  •   Vish    17 年前

    首先,确保两台服务器上的架构相同。


    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*命令则可以处理后端文件

        5
  •  3
  •   O.Colombo    12 年前

    (声誉不足以写评论…)

    Slapcat直接访问数据库,这意味着不会评估ACL、时间和大小限制以及LDAP连接的其他副产品,因此不会更改数据。(马特·布彻,“掌握OpenLDAP”)

        6
  •  2
  •   Mohannad A. Hassan    13 年前

    谢谢,维什。工作得很有魅力!我编辑了命令:

    ldapsearch -z max -LLL -Wx -D "cn=Manager,dc=domain,dc=fr" -b "dc=domain,dc=fr" >/tmp/save.ldif
    
    ldapmodify -c -Wx -D "cn=Manager,dc=domain,dc=fr" -a -f /tmp/save.ldif
    

    刚刚添加了 -z max 以避免尺寸限制和 -c