ジョブタスクでCronトリガーを設定
ジョブタスクを一定期間中に定期的に実行する場合は、Cronトリガーを使います。
Cron式は空白で区切られた5~7つのフィールドからなる文字列です。これらのフィールドには、そのフィールドに応じた許容文字のさまざまな組み合わせによる許容値を含めることができます。
始める前に
手順
- タスクを作成後に編集している場合は、その詳細ページに移動し、[Trigger] (トリガー)の横にあるアイコンをクリックします。
- [Add trigger] (トリガーを追加)アイコンをクリックします。
-
トリガーの名前を入力します。
名前は英数字、ハイフン( - )、ハッシュ( # )、アンダースコア( _ )のみにしてください。スペースや他の特殊文字は許可されません。
- [Trigger type] (トリガータイプ)ドロップダウンリストからCronを選択します。
- [Location (time zone)] (ロケーション(タイムゾーン))フィールドで、実行のタイムゾーンを定義します。
- 実行の開始日を入力します。
-
次のフィールドの値を指定します。
次の表には、Cronトリガーを定義するために使用するオプションが示されています フィールド 説明 許容値と許容文字 分 タスクを実行したい分数を入力します。 - 0 - 59
- , * / -
*/5 (5分おき)が最短間隔です。
指定された間隔に関係なく、CRONスケジューラーは毎時0分にリセットされます。スケジュールされた最後の実行が毎時0分の少なくとも5分前に行われるよう、Cron式で分の間隔を設定してください。そうしない場合、この式は保存されません。
間隔には5の倍数を設定することをお勧めします。それ以外の間隔を使用する場合は、この制限を避けるために注意深く計算するか、1時間のタスクを7分ごとにスケジュールする*/7 12 * * *のように、1時間だけの分間隔を設定してください。これによって、スケジューラーは毎時終了時の最終間隔が短くなってしまうというリスクを冒さずに確実に停止するようになります。
時 タスクを実行したい時間数を入力します。 - 0 - 23
- , * / -
[Day of month] (月の日) タスクを実行したい月の日です。 - 1 - 31
- , * / - ? L W
月 タスクを実行したい月を入力します。 - 1 - 12
- JAN - DEC
- , * / -
[Day of week] (曜日) タスクを実行したい曜日を入力します。 - 1 - 7
- SUN - SAT
- , * / - ? L #
年 タスクを実行したい年を入力します。 - 現在の年から2099年までは空白
- , * / -
また、5~7つのフィールドで既に定義されているCron式を任意のフィールドにコピーして貼り付けることもできます。
[Years] (年)フィールドに値がない5つのフィールドの式をコピーして貼り付けると、このフィールドにはアスタリスクが自動的に追加されます。
7つのフィールドからなる式をコピーして貼り付けると、最初のフィールドは秒と見なされますが、秒はサポートされていないため無視されます。
許容文字は次のとおりです。-
コンマ ( , )は値のリストを指定します。たとえば[Day of week] (曜日)に2,5,6とあれば、月曜、木曜、金曜と同じ意味です。
-
アスタリスク( * )はフィールドで使用できる値を指定します。たとえば[Months] (月)にアスタリスクがあれば、どの月でも使用できるという意味です。
-
スラッシュ( / )は間隔値を指定します。初期値を設定する場合は、スラッシュの前に数字を入力します。たとえば[Hours] (時間)に9/10とあれば、午前9時開始で10時間おきという意味です。また、スラッシュの前にアスタリスクを付けることもできます。たとえば[Hours] (時間)に*/10とあれば、10時間おきという意味です。
-
ダッシュ( - )は値の範囲を指定します。たとえば15-17は、15、16、17と同じ意味です。
-
疑問符( ? )は、[Day of month] (月の日)フィールドと[Day of week] (曜日)フィールドで「特定値なし」を指定します。
-
[Day of week] (曜日)フィールドで何か指定する場合は、[Day of month] (月の日)に疑問符を入力します。たとえば、月の特定の日を指定せずに週の5日目に開始されるようトリガーを設定したいとします。その場合は[Day of month] (月の日)に?を、[Day of week] (曜日)に5をそれぞれ入力します。
-
[Day of month] (月の日)フィールドで何か指定する場合は、[Day of week] (曜日)に疑問符を入力します。たとえば、週の特定の曜日を指定せずに月の5日目に開始されるようトリガーを設定したいとします。その場合は[Day of month] (月の日)に5を、[Day of week] (曜日)に?をそれぞれ入力します。
-
-
Lという文字は、[Day of month] (月の日)では月の最終日を、[Day of week] (曜日)では週の最終日または月の最終日を指定します。
-
選択された月の最終日を指定するには、[Day of month] (月の日)でLという文字を使用します。たとえば、3月であれば31に、閏年の2月であれば29になります。
-
週の最終日を指定するには、[Day of week] (曜日)でLという文字を使用します。これによって7またはSATとなります。また、他の値の後にL文字を使用すると、その月の最終x日を指定できます。たとえば、5Lは月の最終木曜日という意味です。
ただし、リストや値の範囲とLを組み合わせることはお勧めできません。
-
-
Wという文字は、[Day of month] (月の日)で指定された日に最も近い平日(月~金)を指定します。たとえば、10Wは月の10日に最も近い平日という意味です。
-
数字記号( # )は、[Day of week] (曜日)で月のn番目のx曜日を指定します。たとえば、5#1は月の第一木曜日という意味です(5は木曜日、#1はその月最初の週)。
次の表には、Cron式の例とその意味が示されています Cron式 説明 15 10 ? * 6L * 毎月最終金曜日の午前10時15分にタスクを実行 15 10 ? * 6L 2022-2024 2022年、2023年、2024年の毎月最終金曜日の午前10時15分にタスクを実行 15 10 ? * 6#3 2022-2024 2022年、2023年、2024年の毎月第3金曜日の午前10時15分にタスクを実行 - オプション:
トリガーのタイムアウト値は、[Same as task] (タスクと同じ)、[No timeout] (タイムアウトなし)、[Custom] (カスタム)のいずれかを選択して設定します。
デフォルトでは、トリガーのタイムアウト値はタスクのタイムアウト値と同じです。タスクのタイムアウトはトリガーのタイムアウトによってオーバーライドされます。
- [Save and close] (保存して閉じる)をクリックします。
タスクの結果
確認メッセージがページの上部に表示されます。タスクの詳細ページにリダイレクトされます。定義したスケジュールは、[Trigger] (トリガー) > [Trigger type] (トリガータイプ) > Cronの下に表示されます。
また、[Tasks] (タスク)タブでスケジュールを確認することもできます。[Triggers and plans] (トリガーとプラン)アイコンをクリックします。
DST (夏時間)に移行するタイムゾーンを選択した場合は、その変更のために繰り返される時間枠が実行スケジュールに影響し、後続の実行がそれに応じて調整されます。詳細は、DST (夏時間)を伴うスケジュールをご覧ください。