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

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意思嗎?

順便說一句,這些東西似乎運作得很好。

答案1

它在 crontab 檔案 ( ) 的手冊頁中說明了以下內容man 5 crontab

如果擁有者的 uid 是 0(root),他可以將「-」作為 crontab 條目的第一個字元。這將阻止 cron 寫入有關此命令執行的系統日誌訊息。

答案2

我想提一下,這似乎是 SuSE 特定的用例。其他幾個系統(我測試了 redhat、debian、gentoo 和 FreeBSD)上的 Vixie Cron 不支援這種特殊用例。前導破折號不會沉默 cronjob 產生系統日誌訊息,而是會停用整個作業,因此使用它時要小心!

相關內容