Cronスケジュールは、「秒」 「分」 「時」 「日」 「月」 「曜日」 「年(オプション)」のサブフィールドで構成され、これらのサブフィールドはロボットの実行時間を記述します。
各サブフィールドで使用可能な値は下記の表のとおりです。
サブフィールド | 有効値 |
秒 | 0~59の整数 |
分 | 0~59の整数 |
時 | 0~23の整数 |
日 | 1~31の整数 ※該当月の日数に注意して下さい |
月 | 1~12の整数、またはJAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC の文字列 |
曜日 | 1~7の整数またはSUN、MON、TUE、WED、THU、FRI、SATの文字列 ※整数で記述する場合、下記の環境で対応する曜日が異なります。 【MCの場合】 1=日曜日、2=月曜日、……、6=金曜日、7=土曜日 【Launcher(miniユーザーのみ)の場合】 1=月曜日、2=火曜日、……、6=土曜日、7=日曜日 |
年(オプションフィールド) | 1970~2099の整数 |
Cronスケジュールのパターンは、各サブフィールドをスペースで区切る形式で記述します。
例えば、「毎週水曜日の午後 12:00」をスケジュールする場合は、「 0 0 12 ? * WED 」と記述します。
▼MCのスケジュール設定画面
サブフィールドには範囲やリストを指定することも可能です。
例えば、「曜日」フィールド では下記の例のように記述することができます。
<例>
“MON-FRI”(月曜日~金曜日)
"MON, WED, FRI"(月曜日、水曜日、金曜日)
"MON-WED,SAT" (月曜日~水曜日と土曜日)
また、下記のような特殊文字を使用することも可能です。
記号 | 定義 |
* | ワイルドカード (該当フィールドで使用可能なすべての値)を指定する。例えば、「月」フィールドに "*" と入力した場合は「毎月」を意味し、「曜日」フィールドに "*" と入力した場合は「毎日」を意味する。 |
/ | 値にインクリメント(増量)を指定する。例えば、「分」フィールドに"0/15" を入力すると、「0 分から開始して 15分毎」を意味し、"3/20" を入力すると、「3分から開始して 20分毎」を意味する。"3/20"は"3,23,43"と指定することと同義。(※1) |
? | 日フィールド及び曜日フィールドでのみ使用でき、「指定値なし」を意味する。 上記2つのフィールドのうち一方に何かを指定する必要があり、もう一方には指定が不要な場合に重宝する。 |
L | 日フィールド及び曜日フィールドでのみ使用できる。"L" は "last" を省略したもので、その意味は2つのフィールドごとに異なる。 日フィールドでは「月の最終日」を意味する。例えば1月では31日、うるう年以外の年の2月では28日が該当する。 曜日フィールドでは "7" または "SAT" (Launcherの場合は"SAN")を意味するが、別の値と組み合わせて使用すると、その意味は「月の最終 x 曜日」になる。例えば、"6L"(Launcherの場合は"5L") または "FRIL" の意味はどちらも「月の最終金曜日」。 特殊文字 "L" を使用する際は、混乱の元となるためリストや範囲は指定しない方がよい。 |
# | 曜日フィールドで使用でき、その月の「第 n 番目の」X 曜日を指定する。例えば、”6#3" (Launcherの場合は5#3)または"FRI#3" の意味は、「その月の第 3 金曜日」。(※2) |
W | その日に一番近い平日 (月曜~金曜) を指定する。例えば、日フィールドに "15W" と入力すると、「その月の 15 日に一番近い平日」を指定することになる。 |
「日」フィールドおよび「曜日」フィールドの両方に固定値を指定することはできません。
どちらかに”?”を指定する必要があります。
下記はCronスケジュールの具体的な記入例です。Cronスケジュール登録時の参考にしてください。
Cron スケジュール | 説明 |
0 0 12 * * ? | 毎日午前 12 時 (正午) に実行 |
0 15 10 ? * * | 毎日午前 10:15 に実行 |
0 15 10 * * ? | 毎日午前 10:15 に実行 |
0 15 10 * * ? * | 毎日午前 10:15 に実行 |
0 15 10 * * ? 2019 | 2019 年中の毎日午前 10:15 に実行 |
0 * 14 * * ? | 毎日午後 2 時から午後 2:59 までの間、毎分実行 |
0 0/5 14 * * ? | 毎日午後 2 時から午後 2:55 までの間、5 分毎に実行 |
0 0/5 14,18 * * ? | 毎日午後 2 時から午後 2:55 までの間、5 分毎に実行、 及び毎日午後 6 時から午後 6:55 までの間、5 分毎に実行 |
0 0-5 14 * * ? | 毎日午後 2 時から午後 2:05 までの間、毎分実行 |
0 10,44 14 ? 3 WED | 3 月の毎水曜日の午後 2:10 および午後 2:44 に実行 |
0 15 10 ? * MON-FRI | 毎週月曜日、火曜日、水曜日、木曜日、および金曜日の午前 10:15 に実行 |
0 15 10 15 * ? | 毎月 15 日の午前 10:15 に実行 |
0 15 10 L * ? | 毎月最終日の午前 10:15 に実行 |
0 15 10 ? * 6L | 毎月最終金曜日(Launcherの場合は土曜日)の午前 10:15 に実行 |
0 15 10 ? * 6L 2016-2019 | 2016、2017、2018、および2019年の毎月最終金曜日(Launcherの場合は土曜日)の午前 10:15 に実行 |
0 15 10 ? * 6#3 | 毎月第 3 金曜日(Launcherの場合は土曜日)の午前 10:15 に実行 |
Cron形式を使用した曜日や日時指定のスケジュール登録方法については下記のナレッジを参照してください。
・MCで曜日や日時を指定してスケジュール登録する方法
・BizRobo! Launcherで曜日や日時を指定してスケジュール登録する方法
注意事項
(※1)
「〇〇秒毎」や「〇〇分毎」などの設定を行った場合、該当フィールド内でのみ完結します(各フィールドで使用可能な値の範囲を超えた時間の指定はできません)。
<例>
MCの「スケジュールの編集」ダイアログにて「パターン」項目に”0 0/7 12-14 * * ?”( 毎日午後 12:00から14:59まで7分毎に実行)と記述
ロボットは12時から7分毎に実行を繰り返すため、最初の実行から7分後(12:07)、14分後(12:14)、21分後(12:21)…と実行され、9回目は1回目の実行(12:00)から56分後の12:56に実行されます。
10回目の実行のとき、12:56から7分後は13:03ですが、これは1回目の実行から63分後となり、「分」フィールドで使用可能な値「59」を越えた時間となってしまいます。
Cronスケジュールは各フィールド内の使用可能な値の範囲内で完結するため、例題の場合は63分後には実行されず、再び0分に戻ります。
そのため、10回目は13:00に実行され、11回目以降は7分毎に実行を繰り返します。
(※2)
#を使用した複数のn番目のX 曜日の指定には対応していません。
例として、下記のような指定はできません。
<例>
・第2、第3の月曜日
・第2の月曜日と金曜日