3.2. 在实例离线期间使用命令行恢复所有数据库

要在实例离线时恢复所有数据库,请使用 dsctl bak2db 命令。

先决条件

  • 您有一个目录服务器备份。
  • dirsrv 用户在备份目录中具有读取权限。
  • 目录服务器实例没有运行。

流程

  1. 从存储在 /var/lib/dirsrv/slapd-instance_name/bak/instance_name-YYYY_MM_DD_hh_mm_ss目录中的备份中恢复 所有数据库:

    # dsctl instance_name bak2db /var/lib/dirsrv/slapd-instance_name/bak/instance_name-YYYY_MM_DD_hh_mm_ss/
    bak2db successful

    (可选)将 -v 选项传给命令以显示详细输出:

    # dsctl -v instance_name bak2db /var/lib/dirsrv/slapd-instance_name/bak/instance_name-YYYY_MM_DD_hh_mm_ss/
    ...
    DEBUG: Instance allocated
    DEBUG: OK group dirsrv exists
    DEBUG: OK user dirsrv exists
    DEBUG: systemd status -> True
    ...
    INFO: bak2db successful
  2. 在恢复过程中搜索 /var/log/dirsrv/slapd-instance_name/errors 日志的问题。
  3. 可选:启动实例:

    # dsctl instance_name start