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

man 5 crontabcrontab ファイル ( )のマニュアル ページには次のように書かれています。

所有者の uid が 0 (root) の場合、crontab エントリの最初の文字として「-」を入れることができます。これにより、このコマンドが実行されたことに関する syslog メッセージが cron によって書き込まれるのを防ぐことができます。

答え2

これは SuSE 特有の使用例であると思われることを述べておきます。他のいくつかのシステム (Redhat、Debian、Gentoo、FreeBSD でテストしました) の Vixie Cron は、この特殊な使用例をサポートしていません。先頭のダッシュは、cronjob による syslog メッセージの生成を黙らせるのではなく、ジョブ全体を無効にします。そのため、使用時には注意してください。

関連情報