如何备份 ApacheDS LDAP

How to Backup ApacheDS LDAP

有谁知道进行 ApacheDS 备份的万无一失的方法吗?这是我试过的:

  1. 尝试从 ApacheDS Studio 获取 "LDIF export"。但是,导出没有正确的树结构,因此恢复总是失败。这可以通过手动排列 LDIF 文件中的行来避免。然而,这很容易出错,即使最了解 REGEX 和文件处理,也很难编写脚本。
    • 此外,没有编程方式将 "LDIF Export" 放在首位。这必须从 ApacheDS studio(类似 Eclipse 的应用程序)手动完成
  2. 我尝试的另一种方法是从 /var/lib/apacheds-2.0.0-M15/default/partitions 获取原始文件并将其恢复 原样 到全新安装的 ApacheDS。但是,在此之后,ApacheDS 服务无法启动。
    • 我使用原始 LDAP 文件获得了服务 运行。这只有在卸载 apacheds-2.0.0-M15-amd64.deb 并安装最新可用版本 apacheds-2.0.0-M19-amd64.deb 后才有可能。但是,自定义分区不会出现在 ApacheDS Studio 中。嗯...
  3. https://directory.apache.org/apacheds/kerberos-ug/3.6-backup-restore.html没用
  4. 我不想要https://serverfault.com/a/331652/114516
  5. 中提到的内容
  6. 我看到使用 https://cwiki.apache.org/confluence/display/DIRxSRVx10/2.1.2.+ApacheDS+tools 中的大约 apacheds-tools.jar 进行 ldap 转储。但是,为了爱神,我找不到从哪里下载那个jar文件。

FWIW,我根本不懂 java 编程。

所以我就粗暴的破解了。但它有效:

  • tar 向上位于 /var/lib/apacheds-2.0.0-MXX/default/partitions
  • 下的相应分区文件夹
  • 在新机器上安装acheds-2.0.0-M19。我只能使用此版本进行备份。不知道为什么它在其他版本(版本 2.0.0-M19 之前和之后)上失败
  • untar 您备份的分区到 /var/lib/apacheds-2.0.0-M19/default/partitions
  • Restart ApacheDS 服务
  • 现在,从 windows 框中,使用 ApacheDS Studio 和 create partition 连接到 ApacheDS。确保为分区提供与旧服务器 ApacheDS 分区完全相同的名称。
  • Restart ApacheDS 服务。
  • 就是这样

我已经多次尝试、测试并验证了上述方法,并且一直有效。我很开心。