2.2. 在服务器离线时使用命令行导出数据
如果 Directory 服务器实例离线,请使用 dsctl db2ldif
命令导出数据。
先决条件
dirsrv
用户在目标目录中具有写入权限。请注意,目录服务器默认使用自己的私有目录。因此,除非您禁用了 PrivateTmp systemd 指令,否则在
/var/tmp/
、/tmp/
和/root/
目录下备份和导出会失败。- 目录服务器实例没有运行。
流程
使用
dsctl db2ldif
命令将数据导出到 LDIF 文件。例如,将userRoot
数据库导出到/var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
文件中:#
dsctl instance_name db2ldif userRoot /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
OK group dirsrv exists OK user dirsrv exists ldiffile: /var/lib/dirsrv/slapd-instance_name/example.ldif [18/Jul/2021:10:46:03.353656777 +0200] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [18/Jul/2021:10:46:03.383101305 +0200] - INFO - ldbm_back_ldbm2ldif - export userRoot: Processed 160 entries (100%). [18/Jul/2021:10:46:03.391553963 +0200] - INFO - dblayer_pre_close - All database threads now stopped db2ldif successful-
在导出过程中搜索
/var/log/dirsrv/slapd-instance_name/errors
日志。 可选:启动实例:
#
dsctl instance_name start
其他资源
-
要显示可用于导入数据的所有额外设置,请查看
dsctl db2ldif --help
命令的输出。 - 在服务器离线时使用命令行导入数据
- 备份目录服务器