本文发布于Cylon的收藏册,转载请著名原文链接~
Overview
本章基于openldap 2.4+版本进行,主要讲解 openldap 的两种备份方法:备份openldap backend-database
文件,另一种方式为导出 LDIF
目录方式
Backup
备份部分将分为两种方式:使用基于 slapcat
导出目录文件方式,与直接备份数据库文件方式。
slapcat
是可用于导出 slapd 数据库中数据为LDAP交换格式的命令行工具,它可以导出 slapd 的配置也可以导出 slapd的数据。
slapcat
使用起来很简单,参数也是与 openldap 其他命令参数类似,
参数 | 说 明 |
---|---|
-a filter | 只导出与过滤器声明条件相匹配的数据 例如: slapcat -a "(!(entryDN:dnSubtreeMatch:=ou=People,dc=example,dc=com))" |
-b suffix | 将只导出-b指定DN域内数据,-b 不能与 -n 同时使用 |
-c | 忽略错误 |
-f | -f 后接的文件将替代默认的配置文件,通常情况下备份在slapd本机执行可以不使用该参数 |
-F | 指定配置目录,-F比-f优先级高,同时指定生效为-F,也就是导出的目录 |
-g | 导出时不使用从属关系,仅仅为指定的数据库才会被导出 |
-H | 连接 slapd 服务的地址 |
-l | 输出的文件,默认slapcat是将内容输出到标准输出stdout中 |
-s subtree-dn | 仅导出符合dn子树的条目 |
例如下列命令用于备份配置文件的
$ slapcat -n 0 -l config.ldif
Notes:slapd中,配置(0)永远是第一个数据库,跟着的就是在配置中指定的数据库,例如 {0}hdb 将表示1,{1}hdb 则是2
下列命令用于导出为LDIF格式数据
$ slapcat -n 1 -l data.ldif
Restore
恢复配置时,建议直接删除原有配置,而后重新生成新的即可,下表为常见的操作系统openldap配置目录
OS | Configuration Directory |
---|---|
Debian/Ubuntu | /etc/ldap/slapd.d |
RHEL/CentOS | /etc/openldap/slapd.d |
SuSE (Uses slapd.conf) | /etc/openldap/slapd.d |
FreeBSD | /usr/local/etc/openldap/slapd.d |
下列命令是恢复配置的命令,-l
用户指定导出的ldif文件,-F
为配置目录,必须存在
$ slapadd -n 0 -F /etc/openldap/slapd.d -l /backups/config.ldif
因为运行 slapd 进程的用户为 ldap,所以新配置目录的必须拥有权限
$ chown -R ldap:ldap /etc/openldap/slapd.d
下列命令是恢复数据的命令。其实就是重新添加回去
$ slapadd -n 1 -F /config/directory/slapd.d -l /backups/data.ldif -w
本文发布于Cylon的收藏册,转载请著名原文链接~
链接:https://www.oomkill.com/2019/09/ch8-backup-and-restore/
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」 许可协议进行许可。