从 LDIF 文件初始化后缀。此操作将删除后缀中的当前数据,并将其替换为该 LDIF 文件的内容。
使用 LDIF 文件执行批量的 ldapadd、ldapmodify 或 ldapdelete 操作。这样您可以在目录的任何后缀中批量添加、修改和删除条目。
下表显示了初始化后缀与批量添加、修改和删除条目之间的区别。
表 8–1 初始化后缀与批量导入数据的比较
比较范围 |
初始化后缀 |
批量添加、修改和删除条目 |
---|---|---|
覆盖内容 |
覆盖 内容 |
不覆盖内容 |
LDAP 操作 |
仅添加 |
添加、修改和删除 |
性能 |
快 |
较慢 |
对服务器故障的响应 |
响应能力极差(发生故障后会丢失所有更改) |
响应能力最强(将保留故障发生以前的所有更改) |
LDIF 文件位置 |
客户端本地或服务器本地 |
在客户机上 |
导入配置信息 (cn=config) |
导入配置信息 |
不导入配置信息 |
命令 |
服务器为本地服务器并且已停止时: dsadm import 服务器为远程服务器并且正在运行时: dsconf import |
ldapmodify -B |
初始化后缀会使用 LDIF 文件(仅包含用于添加的条目)的内容覆盖后缀中的现有数据。
要初始化后缀,您必须以目录管理员或管理者身份通过验证。
服务器正在运行时,只有目录管理员和管理者才能导入包含根条目的 LDIF 文件。出于安全考虑,只有这些用户才能访问后缀的根条目,例如 dc=example,dc=com.。
在恢复复制协议中所涉及的后缀之前,请先阅读恢复复制的后缀。
您所导入的所有 LDIF 文件都必须使用 UTF-8 字符集编码。
在初始化后缀时,LDIF 文件必须包含相应后缀的根条目和所有目录树节点。
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
使用以下任一命令从 LDIF 文件初始化后缀,也就是说,将数据库内容导入 LDIF 文件。
这些命令将覆盖后缀中的数据。
如果您的服务器是本地服务器并且已停止,请键入:
$ dsadm import instance-path LDIF-file suffix-DN |
以下示例使用 dsadm import 命令将两个 LDIF 文件导入一个后缀。
$ dsadm import /local/ds /local/file/example/demo1.ldif \ /local/file/example/demo2.ldif dc=example,dc=com |
如果您的服务器是远程服务器并且正在运行,请键入:
$ dsconf import -h host -p port LDIF-file suffix-DN |
以下示例使用 dsconf import 导入 LDIF 文件。运行此命令不需要超级用户权限,但您必须以具有超级用户权限的用户身份(如目录管理员)通过验证。
$ dsconf import -h host1 -p 1389 /local/file/example/demo1.ldif \ ou=People,dc=example,dc=com |
如果在多个后缀上并行运行 dsconf import 和/或 dsconf reindex 命令,则事务日志将会增大,并可能对性能造成不利影响。
有关这些命令的详细信息,请参见 dsadm(1M) 和 dsconf(1M) 手册页。
执行 ldapmodify 操作时,可以批量添加、修改或删除条目。这些条目是在 LDIF 文件指定的,该文件包含用于修改或删除现有条目的更新语句。此操作不会删除已经存在的条目。
目录服务器所管理的任何后缀都有可能成为更改条目的目标。与添加条目的任何其他操作一样,服务器在导入新条目时会为所有新条目编制索引。
ldapmodify 命令将通过 LDAP 导入 LDIF 文件,并执行该文件包含的所有操作。使用此命令,可以同时修改所有目录后缀中的数据。
在恢复复制协议中所涉及的后缀之前,请参见恢复复制的后缀。
您所导入的所有 LDIF 文件都必须使用 UTF-8 字符集编码。
导入 LDIF 文件时,目录中必须存在父条目,或者必须先从该文件中添加父条目。
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
从 LDIF 文件批量添加、修改或删除。
$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -B baseDN -f LDIF-file |
以下示例使用 ldapmodify 命令执行导入。运行此命令不需要超级用户权限,但您必须以具有超级用户权限的用户身份(如 cn=Directory Manager 或 cn=admin,cn=Administrators,cn=config)通过验证。最后一个参数指定要导入的 LDIF 文件的名称。
$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - \ -B dc=example,dc=com -f /local/ds/ldif/demo.ldif |