開発者ツール

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つのフィールドが解説されます。