Sun Java System Messaging Server 6.3 管理指南

4.6 排程自動作業

Messaging Server 提供一般作業排程機制,該機制使用稱為 imsched 的程序。適用於排程 Messaging Server 程序。透過設定 local.schedule.taskname configutil 參數,來啟用該機制。如果修改排程,必須使用指令 stop-msg schedstart-msg sched 重新啟動排程程式,或更新排程程式程序 (refresh sched)。

此參數需要一個指令和執行該指令的排程。格式如下:

configutil -o local.schedule.taskname -v “schedule

taskname 是此指令/排程組合的唯一名稱。

schedule 的格式為:

minute hour day-of-month month-of-year day-of-week command args

command args 可以是任一 Messaging Server 指令及其引數。路徑可以是相對於 msg-svr-base 或絕對的路徑。如需相對路徑範例,請參閱4.6.2 預先定義的自動作業

minute hour day-of-month month-of-year day-of-week 是用於執行指令的排程。它允許使用 crontab 格式。

數值均以空格或定位鍵分隔,範圍可以是 0-59、0-23、1-31、1-12 或 0-6 (0=星期日)。每個時間欄位都可以填入星號 (代表所有合法數值)、一列以逗號分隔的數值,或是範圍 (兩個以破折號連接的數值)。請注意,可以將某天指定為月份中的某天和星期中的某天,如果指定了兩種,則兩種都需要。例如,如果設定為某月的 17 日和星期二,則只有在某月的 17 日是星期二時才會執行該指令。請參閱表 20–10

請注意,如果修改排程程式,必須使用指令 stop-msg schedstart-msg sched 重新啟動排程程式,或重新整理排程程式程序:

refresh sched

若要停用排定的作業,請執行下列指令:


# configutil -o local.schedule.taskname.enable -v no 
#  refresh sched

4.6.1 排程程式範例

在夜間 12:30、上午 8:30 以及下午 4:30 執行 imexpire


# configutil -o local.schedule.rm_messages -v “30 0,8,16 * * * /opt/SUNWmsgsr/sbin/imexpire” 

每 20 分鐘顯示一次 MTA 通道佇列郵件計數器


# configutil -o local.schedule.counters -v “0,20,40 * * * * /opt/SUNWmsgsr/sbin/ims
# imta qm counters > /tmp/temp.txt” 

從星期一到星期五的午夜 (12AM) 執行 imsbackup


# configutil -o local.schedule.msbackup -v “0 0 * * 1-5 /opt/SUNWmsgsr/sbin/imsbackup -f \
backupfile /primary”

4.6.2 預先定義的自動作業

Messaging Server 會在安裝時建立、排程並啟用一組預先定義的自動作業。這些作業顯示如下。

下列自動作業是為郵件儲存設定與啟用:


local.schedule.expire = "0 23 * * * sbin/imexpire"
local.schedule.expire.enable = 1
local.schedule.snapshotverify = "0 0,4,8,12,16,20 * * * sbin/imdbverify -m"
local.schedule.snapshotverify.enable = 1

下列自動作業是為 MTA 設定與啟用:


local.schedule.purge="0 0,4,8,12,16,20 * * * sbin/imsimta purge -num=5"
local.schedule.purge.enable = 1
local.schedule.return_job = "30 0 * * * lib/return_job"
local.schedule.return_job.enable = 1

下列自動作業是為郵件儲存設定與啟用:


local.schedule.msprobe = "5,15,25,35,45,55 * * * * lib/msprobe"
local.schedule.msprobe.enable = 1