Sun Java System Messaging Server 6.3 管理指南

20.9.2.3 安排自动删除邮件和日志记录级别

通过 imsched 时间安排守护进程来激活自动删除邮件。默认情况下,imsched 将在每天 23:00 点调用 imexpire,邮件将被擦除并被清除。可以通过设置表 20–10 中介绍的 configutil 参数 local.schedule.expirestore.cleanupage 自定义此时间安排。

对于大型消息存储,可能会花费很长时间才能完成过期和清除,因此您可能需要通过试验决定运行这些进程的频率。例如,如果过期/清除周期花费 10 小时,您可能不希望默认时间安排为每天运行过期和清除一次。使用 imexpire 命令和自动任务时间安排参数(请参见4.6 安排自动任务时间)安排过期和清除的时间。例如:


configutil -o local.schedule.expire -v "0 1 * * 6 /opt/SUNWmsgsr/sbin/imexpire -e"
configutil -o local.schedule.mspurge -v "0 23 * * * /opt/SUNWmsgsr/sbin/imexpire -c"

在本例中,邮件在星期六的凌晨 1 点过期,在每天夜里 11 点清除。如果没有设置清除的时间安排,imexpire 将在过期后执行清除操作。

表 20–10 过期和清除 configutil 日志和时间安排参数

参数 

说明 

local.schedule.expire

运行 imexpire 的时间间隔。使用 UNIX crontab 格式:minute hour day-of-month month-of-year day-of-week

这些值以空格或 Tab 分隔符分隔,可以分别为 0-59、0-23、1-31、1-12 和 0-6(其中 0 = 星期天)。每个时间字段都可以为以下内容之一:一个星号(表示所有合法值)、一个以逗号分隔的值的列表或一个以连字符分隔的两个值表示的范围。请注意,可以同时用几号和星期几指定时间,但是通常不同时使用这两者,因为这种情况很少发生。如果同时指定了这两者,则需要同时满足两者。例如,设置月份的第 17 日和星期二将要求同时满足两个值。 

请注意,您也可以对 imexpire 使用 -e-c 标志分别只添加过期或只添加清除。请参见《Sun Java System Messaging Server 6.3 Administration Reference》中的“imexpire”

时间间隔示例:

1) 在 12:30am、8:30am 和 4:30pm 运行 imexpire

30 0,8,16 * * * /opt/SUNWmsgsr/sbin/imexpire

2) 在工作日早晨 3:15am 运行 imexpire

15 3 * * 1-5 /opt/SUNWmsgsr/sbin/imexpire

3) 仅在星期一运行 imexpire

0 0 * * 1 /opt/SUNWmsgsr/sbin/imexpire

默认值: 

0 23 * * * /opt/SUNWmsgsr/sbin/imexpire

要进行禁用:请将 local.schedule.expire.enable 设置为 NO

store.cleanupage

purge 将永久删除邮件前已过期或已擦除的邮件的生存期(以小时为单位)。

默认值:无 

local.store.expire.loglevel

指定日志级别: 

1 = 记录整个过期会话的摘要。 

2 = 为每个过期的邮箱记录一条消息。 

3 = 为每个过期的邮件记录一条消息。 

默认值:1 

设置 imexpire 日志记录级别

imexpire 将在完成时记录默认日志文件的摘要。如果从命令行调用过期命令,则 -v(详细)和 -d(调试)选项可以用于指示 imexpire 日志记录 stderr 的详细状态/调试消息。如果通过 imsched 调用 imexpire,则 configutil 参数 local.store.expire.loglevel 可以设置为 1、2 或 3 以进行不同级别的日志记录。Loglevel 1 是默认值,将记录整个过期会话的摘要。Loglevel 2 将对每个过期邮箱记录一条消息。Loglevel 3 将对每个过期邮件记录一条消息。

从自动删除邮件中排除指定的用户

通过在 msg-svr-base/config/ 中名为 expire_exclude_list 的文件中添加指定用户的用户 ID(每行一个),以从过期规则中排除这些用户。或者,在用户邮箱下配置一个伪排外过期规则。