【转载】openldap 备份与导入 及相关问题--扩展
http://www.cnblogs.com/ccdc/p/3356518.html
摘要:
对openldap进行备份时,直接使用slapcat命令进行备份,使用ldapadd还原出现问题及解决。
介绍:
对openldap进行备份时,直接使用slapcat命令进行备份(如代码一),然后使用ldapadd还原会出现以下报错信息:
ldap_add: Constraint violation (10)
additional info: structuralObjectClass: no user modification allowed
#代码一:
slapcat -v -l ldapbackup.ldif
分析原因:slapcat备份出来的ldapback.ldif中有系统自动生成的系统信息不能导入需要清除
解决方案:清除ldapback.ldif中的系统信息
步骤:
1、新建过滤正则表达式slapcat.regex
cat >slapcat.regex <<EOF
/^creatorsName: /d
/^createTimestamp: /d
/^modifiersName: /d
/^modifyTimestamp: /d
/^structuralObjectClass: /d
/^entryUUID: /d
/^entryCSN: /d
EOF
2、过滤掉系统信息
cat ldapback.ldif | sed -f slapcat.regex > slapdata.ldif
3、使用ldapadd导入
ldapadd -H ldap://127.0.0.1 -x -D "cn=root,dc=com,dc=cn" -f slapdata.ldif -w dirtysecret
备份方案二:
ldapsearch -x -b 'dc=com,dc=cn' > ldapbackup.ldif
其他方案:
[方法1]
关闭:kill -INT `cat /var/run/slapd.pid`
启动:/usr/sbin/slapd
备份:/usr/sbin/slapcat>mail_ldap.ldif
导入:ldapadd -x -D "cn=Manager,dc=domain,dc=com" -w secret -v -f mail_ldap.ldif
关闭模式导入:
slapadd -l mail_ldap.ldif -f /etc/openldap/sladp.conf
[方法2]
系统突然掉电或重启引起LDAP数据库意外关闭造成的。
进入ldap数据目录(/openldap/var/openldap-data),执行db_recover,再启动服务.
/var/lib/ldap slapd db_recover
参考:
[1] linewer.Ldap相关问题小结.http://blog.chinaunix.net/uid-10328574-id-2951045.html.2013-10-08
[2] shrekmu.手工备份恢复Openldap数据库.http://blog.csdn.net/shrekmu/article/details/1266361.2013-10-08
[3] nonnie.OpenLDAP的手工备份与恢复.http://blog.163.com/nonnie@126/blog/static/57630308201091194938915/.2013-10-08
扩展:
因为dn必须是唯一的,slapcat将所有的entry都导出了,但是系统在安装好ldap之后会有一两个dn
会导致冲突dn冲突,所以导入失败。
解决办法:
1.将要导入ldap的系统/var/lib/ldap/* 下生成的所有db全部删除。再导入
2.只导出需要的条目,ldapsearch -x -H ldap://10.1.1.1 -b 'dc=example,dc=net'
3.使用上文的正则过滤,但我感觉这是最不合适的方法。
ldap的设计体系:
主要分两部分,dn和schema
ldap数据的基本单元是entry,一个entry对应一个dn,包含一些属性,这些属性分别属于不同的schema,即schema定义了属性组,其中包含了必选属性和可选属性。
dn-->objectclass-->schema-->attributes
……困,睡觉
【转载】openldap 备份与导入 及相关问题--扩展的更多相关文章
- openldap 备份与导入 及相关问题
摘要: 对openldap进行备份时,直接使用slapcat命令进行备份,使用ldapadd还原出现问题及解决. 介绍: 对openldap进行备份时,直接使用slapcat命令进行备份(如代码一), ...
- MongoDB系列----备份与导入导出
参考: http://my.oschina.net/xiaomaoandhong/blog/63471,<> 1.停掉服务器 然后备份 Mongodb将所有数据都存放在"数据目录 ...
- FastAdmin 导入 Excel 相关资料收集 (2018-08-14)
FastAdmin 导入 Excel 相关资料收集 新版本一键CRUD后自带导入功能,但是默认被禁用,如何启动 https://forum.fastadmin.net/thread/540 Excel ...
- 备份和导入Outlook 2016 电子邮件签名
在本文中,我将分享您在Outlook 2013和Outlook 2016中备份或导入签名的过程 在清除Outlook配置文件之前,请确保您通过在文件资源管理器中的配置文件中的APPDATA文件夹中复制 ...
- linux 简单的mysql备份和导入,以及文件的备份和导入
一,数据库的备份与导入 1),数据库的备份 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 例:mysqldump -u dbadmin -p myblo ...
- 云服务器 ECS Linux 系统 MySQL 备份的导入导出
MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql. 如果您将 MySQL 安装到其他目录,您需要输入您 ...
- 使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复
使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...
- win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令
win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令 一 .安装 一开始在mysql官网(https://www.mysql ...
- 【转载】RMAN备份保留策略设置相关命令
转自 http://blog.sina.com.cn/s/blog_7c5a82970101g4s7.html 策略有两种,一种是基于恢复窗口策略的,一种是基于冗余策略的. 基于恢复窗口策略: 定义的 ...
随机推荐
- javaSE第二十一天
第二十一天 276 1:字符流(掌握) 276 (1)字节流操作中文数据不是特别的方便,所以就出现了转换流. 276 (2)转换流其实是一个字符流 276 1:InputStr ...
- MySQL的存储引擎整理
01.MyISAM MySQL 5.0 以前的默认存储引擎.MyISAM 不支持事务.也不支持外键,其优势是访问的速度快,对事务完整性没有要求或者以SELECT.INSERT 为主的应用基本上都可以使 ...
- ubuntu下使用nethogs监控网络流量
NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...
- Entity Framework中的多个库操作批量提交、事务处理
在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...
- PHP-PCRE正则表达式函数
PCRE正则表达式函数 PCRE字符类 \\b 词边界 \\d 匹配任意数字 \\s 匹配任意空白,如TAB制表符或空格 \\t 匹配一个TAB ...
- Microsoft Visual C++ Runtime error解决方法
1: 当出现下图时提示Microsoft Visual C++ Runtime error 2:此时不要关闭该对话框,然后打开任务管理器(Ctrl+Shift+Esc)如下图: 找到Microsoft ...
- 百度 UEditor 简单安装调试和调用,网上其它的教程太官方了,不适合新手
对于新手来说,只要能实现功能即可,其它设置完全默认. 预览图: 1.首先 到官网下载,这个不多说.下载后解压到网站你想要的目录,我这里放到根目录下在你需要使用编辑器的地方,插入如下HTML代码: &l ...
- 基于.NET的WebService的实现和WCF的实现
1.新建一个MVC web项目. 2.点击项目,[右键]→[添加]→[新建项] 3.点击[Web]→[Web服务] 4.恭喜,Web Service已经新建成功,里面的方法就可以参考着根据自己的需要进 ...
- MySQL自用脚本(不定期更新)
查询指定SQL的trace信息 mysql -uUSER -pPWD -hHOST -e "\ use ins_tc_prd; \ set session optimizer_trace=' ...
- python基础学习笔记第二天 内建方法(s t r)
python的字符串内建函数 str.casefold()将字符串转换成小写,Unicode编码中凡是有对应的小写形式的,都会转换str.center()返回一个原字符串居中,并使用空格填充至长度 w ...