Sun Java System Calendar Server 管理指南 |
第 16 章
管理“删除记录”数据库Calendar Server 包括“删除记录”数据库 (ics50deletelog.db),该数据库用来存储已删除的事件和待办事件(任务)。在前几个发行版中,Calendar Server 没有提供维护已删除事件和任务的数据库。用户不得不通过保存事件或待办事件(任务)的唯一标识符 (uid) 或周期标识符 (rid) 来确定已删除的组件。这种局限性直接影响了使用 WCAP 命令生成客户端用户界面 (UI) 的安装。
本章介绍了以下内容:
创建“删除记录”数据库Calendar Server 在 csdb 目录下创建“删除记录”数据库 (ics50deletelog.db),与其他 Calendar Server 数据库文件保存在一起。Calendar Server 按如下方式在“删除记录”数据库中写入事件和待办事件:
查询“删除记录”数据库要从“删除记录”数据库返回条目,请使用 WCAP 命令 fetch_deletedcomponents(不管是在扩展模式还是在压缩模式下):
如果 recurring 参数为 1,fetch_deletedcomponents 命令将返回非重复性事件和重复性事件的主组件,但不会返回单独的重复性事件。
如果重复链中的所有实例均已删除,主组件将返回以下参数:dtstart、dtend、rrules、rdates、exrules、exdates 和 uid。
另外,fetch_deletedcomponents 命令不返回与已删除重复实例关联但仍处于活动状态的主组件。要返回活动的主组件,请使用 WCAP 命令 fetchcomponents_by_lasmod。fetch_deletedcomponents 命令应与 fetchcomponents_by_lasmod 命令一起使用。
有关 WCAP 命令的详细信息,请参阅 Sun Java System Calendar Server 6 2004Q2 Developer's Guide。
清理“删除记录”数据库Calendar Server 不仅提供了自动清理“删除记录”数据库功能,还提供了手动清理“删除记录”数据库功能。
自动清理“删除记录”数据库
如果需要,可以让 Calendar Server 自动清理“删除记录”数据库中的条目。
表 16-1 介绍了 ics.conf 文件中控制自动清理的参数。
例如,要让 Calendar Server 每隔五分钟(600 秒)自动清理“删除记录”数据库中已超过 2 天(172800 秒)的条目,请按如下所示设置表 16-1 中的参数:
service.admin.purge.deletelog="yes"
caldb.berkeleydb.purge.deletelog.interval=600
caldb.berkeleydb.purge.deletelog.beforetime=172800设置这些参数后,重新启动 Calendar Server 以使新值生效。
手动清理“删除记录”数据库
要手动清理“删除记录”数据库 (ics50deletelog.db) 条目,请使用 cspurge 实用程序:
cspurge -e endtime -s starttime
其中,endtime 和 starttime 指定以祖鲁时间(也可以使用 GMT 或 UTC 时间)表示的开始时间和结束时间。
要在 Solaris 操作系统上运行 cspurge,必须以运行 Calendar Server 的用户和组身份登录(默认为 icsuser 和 icsgroup)或以超级 (root) 用户身份登录。
例如,可使用以下命令清理自 2003 年 7 月 1 日到 2003 年 7 月 31 日之间的条目:
cspurge -e 20030731T235959Z -s 20030701T120000Z
有关详细信息,请参阅附录 D“Calendar Server 命令行实用程序参考”中的 cspurge 实用程序。
使用“删除记录”数据库的 CLI 实用程序表 16-2 列出了支持“删除记录”数据库 (ics50deletelog.db) 的 Calendar Server 命令行实用程序:
表 16-2 支持“删除记录”数据库的实用程序
实用程序
说明
cspurge
允许手动清理“删除记录”数据库中的条目。
csbackup and csrestore
支持“删除记录”数据库的备份和恢复。
csstats
报告“删除记录”数据库的统计信息。
csdb
支持对“删除记录”数据库执行重建、恢复和检查操作。
cscomponents
列出(只读)“删除记录”数据库中的条目数。
有关详细信息(包括这些实用程序的语法),请参阅附录 D“Calendar Server 命令行实用程序参考”