第 2 章 导出和导入数据
了解如何在线提取或填充目录数据库的步骤。
2.1. 从目录服务器导出数据 复制链接链接已复制到粘贴板!
使用命令行或 Web 控制台,将数据从 Directory Server 数据库导出到 LDIF 文件。
导出操作仅包含目录数据。导出不包括配置信息(cn=config
)、架构信息(cn=schema
)和监控信息(cn=monitor
)。
使用导出功能:
- 将数据复制到另一个目录服务器。
- 将数据导出到另一个应用程序。
- 在更改目录拓扑后,存储库数据库。
- 分割数据库。
2.1.1. 在服务器运行时使用命令行导出数据 复制链接链接已复制到粘贴板!
要在 Directory 服务器实例运行时导出数据,请使用 dsconf backend export
命令。
先决条件
dirsrv
用户在目标目录中具有写入权限。请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则将备份并导出到目录
/var/tmp/
、/tmp/
和/root/
下。- 目录服务器实例正在运行。
流程
使用
dsconf backend export
命令将数据导出到 LDIF 文件。例如,要导出
userRoot
数据库:dsconf <instance_name> backend export userRoot
# dsconf <instance_name> backend export userRoot The export task has finished successfully
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,
dsconf
将导出存储在/var/lib/dirsrv/slapd
的文件中。或者,在命令中添加 the- <instance_name> /ldif 的名为instance_name_database_name-time _stamp
.ldif-l file_name
选项来指定不同的位置。-
在导出过程中搜索
/var/log/dirsrv/slapd- <instance_name> /errors
日志。
2.1.2. 在服务器离线时使用命令行导出数据 复制链接链接已复制到粘贴板!
如果 Directory 服务器实例离线,请使用 dsctl db2ldif
命令来导出数据。
先决条件
dirsrv
用户在目标目录中具有写入权限。请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则将备份并导出到目录
/var/tmp/
、/tmp/
和/root/
下。- 目录服务器实例没有运行。
流程
使用
dsctl db2ldif
命令将数据导出到 LDIF 文件。例如,要将userRoot
数据库导出到/var/lib/dirsrv/slapd- <instance_name>/ldif/example.ldif
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在导出过程中搜索
/var/log/dirsrv/slapd- <instance_name> /errors
日志。 可选:启动实例:
dsctl <instance_name> start
# dsctl <instance_name> start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. 在服务器运行时使用 Web 控制台导出数据 复制链接链接已复制到粘贴板!
目录服务器支持使用 Web 控制台导出数据。
先决条件
dirsrv
用户在目标目录中具有写入权限。请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则将备份并导出到目录
/var/tmp/
、/tmp/
和/root/
下。- 目录服务器实例正在运行。
- 在 web 控制台中登录到实例。
流程
- 打开 菜单。
- 选择后缀条目。
- 点 Export Suffix。 ,然后选择
-
输入您要在其中存储导出的 LDIF 文件的名称。目录服务器将使用指定文件名将文件存储在
/var/lib/dirsrv/slapd- <instance_name> /ldif/
目录中。 - 单击 。
-
要在导出过程中检查日志是否有问题,请打开
菜单。