2.24. cn=task_name,cn=USN tombstone cleanup task,cn=tasks,cn=config
如果启用了 USN 插件,则每当目录写入操作(如添加或修改)时,会在每个条目上设置 更新序列号 (USN)。这反映在 entryUSN
操作属性中。即使删除了条目,并且 Directory Server 实例维护 tombstone 条目,也会设置此 USN。
cn=USN tombstone cleanup 任务
根据后端数据库( 在后端
属性中)或后缀(在 suffix
属性中)删除实例维护的 tombstone 条目。(可选)可以通过指定要删除的最大 USN (在 max-usn-to-delete
属性中)来删除 tombstone 条目的子集,这会保留最新的 tombstone 条目。
dn: cn=example,cn=USN tombstone cleanup task,cn=tasks,cn=config objectclass: extensibleObject cn:example backend: userroot max_usn_to_delete: 500
此任务只能在未启用复制时启动。复制维护自己的 tombstone 存储,这些 tombstone 条目不能被 USN 插件删除;它们必须由复制进程维护。因此,目录服务器可防止用户为复制数据库运行清理任务。
尝试为复制后端创建此任务条目将在命令行中返回这个错误:
ldap_add: DSA is unwilling to perform
在错误日志中,存在更明确的信息,因为后缀因为被复制而没有 tombstone。
[...] usn-plugin - Suffix dc=example,dc=com is replicated. Unwilling to perform cleaning up tombstones.
任务完成后,任务条目会从目录中删除。
cn=USN tombstone cleanup 任务
条目是所有 USN tombstone delete 操作的一个容器条目。cn=USN tombstone cleanup 任务
本身没有与任何单个任务相关的属性,但此条目下的每个任务都没有相关的属性,如 cn='task_ID,cn=USN tombstone cleanup 任务,cn=tasks,cn=config
,使用其属性来定义单独的更新任务。
2.24.1. 后端
这为 Directory 服务器实例后端或数据库提供运行清理操作。如果没有指定后端,则必须指定后缀。
参数 | 描述 |
---|---|
条目 DN | cn=task_name,cn=USN tombstone cleanup task,cn=tasks,cn=config |
有效值 | 数据库名称 |
默认值 | 无 |
语法 | DirectoryString |
示例 | 后端:userroot |
2.24.2. max_usn_to_delete
这在删除 tombstone 条目时给出最高 USN 值来删除。所有 tombstone 条目(包括该数字)都将被删除。具有较高 USN 值的 tombstone 条目(这意味着更最新的条目)不会被删除。
参数 | 描述 |
---|---|
条目 DN | cn=task_name,cn=USN tombstone cleanup task,cn=tasks,cn=config |
有效值 | 任何整数 |
默认值 | 无 |
语法 | 整数 |
示例 | max_usn_to_delete: 500 |
2.24.3. suffix
这提供了目录服务器中的后缀或子树来运行清理操作。如果没有指定后缀,则必须为后端指定。
参数 | 描述 |
---|---|
条目 DN | cn=task_name,cn=USN tombstone cleanup task,cn=tasks,cn=config |
有效值 | 任何子树 DN |
默认值 | 无 |
语法 | DN |
示例 | suffix: dc=example,dc=com |