cron 式の解説
cron 式をフィールドごとに、またわかりやすい 1 文で読み解き、次にいつ実行されるかを表示します。
| フィールド | 値 | 意味 | 使える値 |
|---|---|---|---|
| 分 | | 0–59 | |
| 時 | | 0–23 | |
| 日 | | 1–31 | |
| 月 | | 1–12, JAN–DEC | |
| 曜日 | | 0–7, SUN–SAT |
| 回 | 現在から |
|---|
ツールをここにピン留めできます。このブラウザに保存されます。
ツールをピン留めすると、そのステッカーがここに並びます。
cron 式をフィールドごとに、またわかりやすい 1 文で読み解き、次にいつ実行されるかを表示します。
| フィールド | 値 | 意味 | 使える値 |
|---|---|---|---|
| 分 | | 0–59 | |
| 時 | | 0–23 | |
| 日 | | 1–31 | |
| 月 | | 1–12, JAN–DEC | |
| 曜日 | | 0–7, SUN–SAT |
| 回 | 現在から |
|---|
cron 式は、空白で区切った 5 つのフィールドからなります。分(0〜59)、時(0〜23)、日(1〜31)、月(1〜12)、曜日(0〜7。0 と 7 はどちらも日曜日)です。cron は 1 分に 1 回時計を確認し、分、時、月、日がすべて一致したときにジョブを実行します。日が一致するかどうかは、日と曜日の 2 つのフィールドを合わせて、後述のルールで判断します。
各フィールドで、* はすべての値に一致します。1,15 のようなリストはそれぞれの値に、1-5 のような範囲は最初の値から最後の値までのすべてに一致し、*/15 や 8-18/2 のようなステップは範囲内の N 個ごとの値を取ります。月と曜日は、英語の 3 文字の名前で JAN〜DEC、SUN〜SAT と書くこともできます。
マクロは省略形です。@hourly は 0 * * * *、@daily と @midnight は 0 0 * * *、@weekly は 0 0 * * 0、@monthly は 0 0 1 * *、@yearly と @annually は 0 0 1 1 * と同じです。
日と曜日は、互いに条件を絞り込むわけではありません。両方が指定されている場合、ジョブはそのどちらかに一致する日に実行されます。そのため 0 0 13 * 5 は、13 日の金曜日だけでなく、毎月 13 日の午前 0 時と毎週金曜日にも実行されます。
Vixie cron と cronie は、日のフィールドが指定されているかどうかを先頭の文字で判断します。*/2 のようなステップも含め、* で始まるフィールドは指定なしとみなされ、その場合は両方のフィールドが一致する必要があります。0 0 */2 * 1 は、奇数日にあたる月曜日に実行されます。このツールも同じルールに従い、どちらの場合にあたるかを表示します。
ステップは範囲の先頭から数え、範囲の終わりでまた最初からやり直します。分のフィールドの */15 は 0、15、30、45 となり、確かに 15 分ごとです。*/7 は 0、7、14 と 56 まで続き、その 4 分後にまた 0 になります。これがわかるように、表にはステップを展開した値を表示します。
cron は、式を実行先のマシンの時計と照らし合わせます。多くのサーバーはその時計を UTC に設定しています。次回実行の一覧の上でローカル時刻か UTC をマシンに合わせて選び、もう一方の列で同じ時点を別のタイムゾーンで確認してください。夏時間でローカル時刻が切り替わるとき、飛ばされる時間帯や繰り返される時間帯に設定されたジョブの扱いは cron の実装によって異なります。このツールは、飛ばされる時刻の実行は表示せず、繰り返される時刻は分か時のフィールドが * で始まる場合にだけ 2 回表示します。
読み取るのは標準的な 5 フィールドの構文だけです。秒のフィールド、年のフィールド、?、L、W、# の文字は Quartz などほかのスケジューラーのもので、エラーとして表示します。5/15 のように単一の値の後ろに付けたステップも同様です。crontab のマニュアルでは、ステップは * か範囲の後ろにしか定義されていないため、5-59/15 と書いてください。
そのフィールドで使える最小の値から数えて、5 つごとの値という意味です。分のフィールドなら 0、5、10 と 55 までの分になるので、ジョブは 5 分ごとに実行されます。時のフィールドなら 0、5、10、15、20 時です。
いいえ。日と曜日の両方が指定されている場合、cron はどちらか一方が一致すればジョブを実行します。この式は毎月 13 日と毎週金曜日に実行されます。
どちらも日曜日です。曜日のフィールドには 0〜7 を指定でき、0 と 7 はどちらも日曜日を表します。月曜日は 1、土曜日は 6 です。SUN、MON などと書くこともできます。
スケジューラーでジョブごとにタイムゾーンを設定できる場合を除き、cron は実行先のシステムの時計とタイムゾーンを使います。多くのサーバーやホスティング型のスケジューラーは UTC で動いているため、ローカル時刻だと決めつける前に確認してください。
専用のウィンドウで開き、オフラインでも使えます。
インストールするには、共有ボタンをタップして「ホーム画面に追加」を選びます。