開発者ツール
cron式の解説
cronの行を貼り付けて、実際にいつ実行されるかを確認します。
cron式の解説 お使いのデバイス上で動作
- ブラウザ上で動作します — テキストはどこにも送信されません
- 登録不要、利用回数の上限なし、何度でも無料で使えます
仕組み
cronの構文は、簡潔な5つのフィールドからなり、書くのは簡単でも、特に他人が書いたものを読み返すのははるかに難しいものです。間違いの多くは、タイプミスではなく、どのフィールドがどれなのか、あるいは2つが同時に設定されたときに何が起こるのかについての誤解です。
5つのフィールド
分、時、日、月、曜日の順です。先頭に秒の第6のフィールドを使うスケジューラーもありますが、ここでは、ある場合は無視されます。範囲、リスト、ステップはすべて理解されます。
日と曜日を同時に指定した場合
これは、ほとんどの人がはまる点です。両方のフィールドに「*」以外が設定されている場合、cronは、両方ではなくどちらかが一致したときに実行されます。「0 0 1 * 1」は、毎月1日と、毎週月曜日に実行されます。1日に当たる月曜日だけではありません。該当する場合、解説にはその旨が明記されます。
0と7は、どちらも日曜日
曜日フィールドは0から7を受け付け、両端がどちらも日曜日を意味します。システム間でスケジュールをコピーするときに、1つずれる混乱の原因として、よくあるものです。
解説しながら検証します
範囲外の値、不正な形式の範囲、ステップが0の場合は、自信ありげでも間違った説明を出すのではなく、該当するフィールドとともに通知されます。
よくある質問
cron式の解説に関する質問
5つのフィールドは、それぞれ何を意味しますか?
分、時、日、月、曜日の順です。
スケジュールが想定より頻繁に実行されるのはなぜですか?
おそらく、日と曜日の両方が設定されているためです。cronはこの2つをORとして扱うため、どちらかが一致すれば実行されます。
日曜日は0ですか、7ですか?
どちらもです。曜日フィールドは0から7を受け付け、両端をどちらも日曜日として扱います。
秒のフィールドに対応していますか?
先頭の秒フィールドがある場合は無視され、標準の5つのフィールドが解説されます。