Linux
crontab:時間欄位規範中破折號的特殊情況
在 SuSE
/etc/crontab
中,執行cron.{hourly,daily,monthly,weekly}
腳本的入口編碼為:-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
請注意,規範的第一個字元是破折號 (-),這不是錯字。
有人可以解釋時間規範的
-*/15
含義嗎?順便說一句,這些東西似乎執行良好。
它在 crontab 文件 (
man 5 crontab
) 的手冊頁中說明了以下內容:如果所有者的 uid 為 0(root),他可以將“-”作為 crontab 條目的第一個字元。這將阻止 cron 寫入有關此命令執行的系統日誌消息。
我想提一下,這似乎是 SuSE 特定的案例。其他幾個系統(我測試過 redhat、debian、gentoo 和 FreeBSD)上的 Vixie Cron 不支持這種特殊案例。前導的破折號靜默禁用整個作業,而不是使 cronjob 產生 syslog 消息而靜默,因此在使用它時要小心!