摘要:

  对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 "用户" -f slapdata.ldif -w 密码
#或 服务器程序导入 初始使用可能失败
#slapadd -l slapdate.ldif

  备份方案二:

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

openldap 备份与导入 及相关问题的更多相关文章

  1. 【转载】openldap 备份与导入 及相关问题--扩展

    http://www.cnblogs.com/ccdc/p/3356518.html 摘要: 对openldap进行备份时,直接使用slapcat命令进行备份,使用ldapadd还原出现问题及解决. ...

  2. MongoDB系列----备份与导入导出

    参考: http://my.oschina.net/xiaomaoandhong/blog/63471,<> 1.停掉服务器 然后备份 Mongodb将所有数据都存放在"数据目录 ...

  3. FastAdmin 导入 Excel 相关资料收集 (2018-08-14)

    FastAdmin 导入 Excel 相关资料收集 新版本一键CRUD后自带导入功能,但是默认被禁用,如何启动 https://forum.fastadmin.net/thread/540 Excel ...

  4. 备份和导入Outlook 2016 电子邮件签名

    在本文中,我将分享您在Outlook 2013和Outlook 2016中备份或导入签名的过程 在清除Outlook配置文件之前,请确保您通过在文件资源管理器中的配置文件中的APPDATA文件夹中复制 ...

  5. linux 简单的mysql备份和导入,以及文件的备份和导入

    一,数据库的备份与导入 1),数据库的备份 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 例:mysqldump -u dbadmin -p myblo ...

  6. 云服务器 ECS Linux 系统 MySQL 备份的导入导出

    MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql. 如果您将 MySQL 安装到其他目录,您需要输入您 ...

  7. 使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

    使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...

  8. win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令

    win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令   一 .安装 一开始在mysql官网(https://www.mysql ...

  9. DDL:对数据库___database___的相关操作,包含数据库备份,导入

    1.创建数据库 create database mydb2; create database mydb2 character set utf8; 2.删除数据库 drop database mydb2 ...

随机推荐

  1. 优股社区logo

  2. Android API之android.widget.Filterable

      android.widget.Filterable 定义了一种可过滤的行为.Filterable接口通常有android.widget.Adapter来实现.接口Filterable中有个抽象方法 ...

  3. 【微信小程序】解决 竖向<scroll-view>组件 “竖向滚动页面出现遮挡”问题

    问题图: 问题原因: <scroll-view class="scroll-container" upper-threshold="{{sortPanelDist} ...

  4. c:forEach标签

    //varStat代表 遍历typeListDesc集合所用到的方法 <!-- stat当前迭代的第几项 --> <c:forEach var="type" it ...

  5. 关于iOS Category实现添加属性及成员变量

    iOS分类: 很多说法是只能添加方法,而不能添加成员变量或属性. 有些人可能知道,这种说法是不严谨的,并不是绝对不能添加变量. 解释如下: 我们知道在一个类中用@property声明属性,编译器会自动 ...

  6. WordPress网站搬家的问题

    老邢的博客搬家全过程(wordpress搬家知识总结)   网站搬家过程中的几个问题   WordPress网站搬家的方法   WORDPRESS.ORG - zh-cn:WordPress 博客搬家 ...

  7. Redis基本操作——List

    Redis基本操作——List(原理篇) 学习过数据结构的同学,一定对链表(Linked List)十分的熟悉.相信我们自己也曾经使用过这种数据结构. 链表分为很多种:单向链表,双向链表,循环链表,块 ...

  8. WebApi和MVC的区别

    使用上区分,mvc主要用于建站,web api主要用于构建http服务,当然你非要用mvc来构建Uri式的Api也行,不过显然是没有这个必要的,一个不恰当的比喻就像是你也可以玩破解版的单机游戏,也可以 ...

  9. OGG_GoldenGate日常维护(案例)

    2014-03-12 Created By BaoXinjian

  10. Linux内存使用方法详细解析

    我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用. 一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存.这两个概念主要来自于linux内核的支持. Linux在 ...