Linux

crontab:時間欄位規範中破折號的特殊情況

  • September 18, 2019

在 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 消息而靜默,因此在使用它時要小心!

引用自:https://serverfault.com/questions/151815