關(guān)于 Crontab ,維基百科上的詞條 Crontab非常好??上н@個(gè)地址在國內不用代理訪(fǎng)問(wèn)不到。
雖然關(guān)于 Crontab 的介紹到處都是,詳細讀了一遍這個(gè)詞條,收獲還是有的。Crontab 這個(gè)名字來(lái)自 "chronos",一個(gè)古希臘語(yǔ), “時(shí)間”的意思.
1) 出于測試目的新創(chuàng )建了一條 Cron JOB, 時(shí)間間隔必須超過(guò)兩分鐘,否則 JOB 將調度不到。如果必須忽略這兩分鐘的載入配置時(shí)間差,可以通過(guò)重新啟動(dòng) Cron Daemon 做到。
2) 從 Crontab 中啟動(dòng) X Window 程序需要注意的事項:所以要么在程序前初始化 "DISPLAY=:0.0", 要么在應用程序后面追加參數 --display :0.0
3) 命令中的 % 必須做轉義處理: \% .我個(gè)人的意見(jiàn)是不要在命令行里帶這個(gè)參數,干脆寫(xiě)到腳本里,然后調度該腳本即可。
其實(shí)我倒是認為使用 Crontab 最常見(jiàn)的一個(gè)問(wèn)題往往是因為環(huán)境變量不對。經(jīng)常會(huì )看到論壇里有人問(wèn):為什么我的 Crontab 創(chuàng )建了不執行? 準備創(chuàng )建一條 Cron JOB 的時(shí)候,很多人都喜歡在命令行下運行一遍,因為這個(gè)時(shí)候環(huán)境變量是隨著(zhù) Shell 自動(dòng)帶進(jìn)來(lái),在 Crontab 中則可能因為找不到正確的環(huán)境變量,JOB 就不能執行。這個(gè)小問(wèn)題就像出天花,一次教訓之后就都記得了。
附: Crontab 的格式說(shuō)明如下:
* 逗號(‘,‘) 指定列表值。如: "1,3,4,7,8"
* 中橫線(xiàn)(‘-‘) 指定范圍值 如 "1-6", 代表 "1,2,3,4,5,6"
* 星號 (‘*‘) 代表所有可能的值
Linux(開(kāi)源系統似乎都可以)下還有個(gè) "/" 可以用. 在 Minute 字段上,*/15 表示每 15 分鐘執行一次. 而這個(gè)特性在商業(yè) Unix ,比如 AIX 上就沒(méi)有.
# Use the hash sign to prefix a comment# +---------------- minute (0 - 59)# | +------------- hour (0 - 23)# | | +---------- day of month (1 - 31)# | | | +------- month (1 - 12)# | | | | +---- day of week (0 - 7) (Sunday=0 or 7)# | | | | |# * * * * * command to be executed
聯(lián)系客服