

# cron 式のリファレンス
<a name="cron-expression-reference"></a>

このソリューションは、定期的なテストスケジュールに、標準的な 5 フィールドの Linux cron 形式のサブセットを使用します。cron 式は、スペースで区切られた 5 つのフィールドで構成されます。

```
┌───────── minute (0-59)
│ ┌─────── hour (0-23, *, */N, or comma list)
│ │ ┌───── day of month (1-31 or *)
│ │ │ ┌─── month (1-12 or *)
│ │ │ │ ┌─ day of week (0-6, *, range, or list)
│ │ │ │ │
0 9 * * 1-5
```

## 使用できる値
<a name="cron-accepted-values"></a>

次の表は、各フィールドが受け入れる値を示しています。


| フィールド | 使用できる値 | 例 | 
| --- | --- | --- | 
| 分 | 0～59 の 1 つの値。 |  `0`, `30`, `45`  | 
| 時 |  ` ` (毎時)、ステップ値 ``、0～23 の 1 つの値、またはカンマ区切りの値のリスト。 |  ` `, ``, `9`, `9,17`  | 
| 日 |  `*` (毎日) または 1～31 の 1 つの値。 |  `*`, `1`, `15`, `31`  | 
| 月 |  `*` (毎月) または 1～12 の 1 つの値。 |  `*`, `1`, `6`, `12`  | 
| 曜日 |  `*` (毎日)、0～6 の 1 つの値、ハイフンを使用した範囲、またはカンマ区切りのリスト。 |  `*`, `0`, `1-5`, `0,6`  | 

曜日の値は、次のマッピングを使用します。0 = 日曜日、1 = 月曜日、2 = 火曜日、3 = 水曜日、4 = 木曜日、5 = 金曜日、6 = 土曜日。

## サポートされていないパターン
<a name="cron-unsupported-patterns"></a>

次のパターンは有効な Linux cron 構文ですが、このソリューションではサポートされていません。


| パターン | 例 | Reason | 
| --- | --- | --- | 
| 分のステップ値 |  `*/15 * * * *`  | 最小スケジューリング間隔は 1 時間です。 | 
| 分のリスト |  `0,30 * * * *`  | 最小スケジューリング間隔は 1 時間です。 | 
| 日の範囲 |  `0 9 1-15 * *`  | 日付には単一の値またはワイルドカードのみが受け入れられます。 | 
| 日のリスト |  `0 9 1,15 * *`  | 日付には単一の値またはワイルドカードのみが受け入れられます。 | 
| 月の範囲 |  `0 9 * 3-9 *`  | 月には単一の値またはワイルドカードのみが受け入れられます。 | 
| 月のリスト |  `0 9 1 1,6,12 *`  | 月には単一の値またはワイルドカードのみが受け入れられます。 | 
| 疑問符 |  `0 9 ? * ?`  | 疑問符文字は、標準の Linux cron では有効ではありません。代わりに `*` を使用します。 | 

## プリセットパターン
<a name="cron-preset-patterns"></a>

ウェブコンソールには、直接選択できる以下のプリセットパターンが用意されています。


| パターン名 | 式 | 説明 | 
| --- | --- | --- | 
| １時間毎 |  `0 * * * *`  | 毎時 0 分に実行されます。 | 
| 毎日午前 9 時 |  `0 9 * * *`  | 選択したタイムゾーンの午前 9 時に 1 日 1 回実行されます。 | 
| 平日の午前 8 時 |  `0 8 * * 1-5`  | 月曜日から金曜日までの午前 8 時に実行されます。 | 
| 毎週日曜日の午後 5 時 |  `0 17 * * 0`  | 毎週日曜日の午後 5 時に実行されます。 | 
| 毎月 1 日の午前 11 時 |  `0 11 1 * *`  | 毎月 1 日の午前 11 時に実行されます。 | 

## スケジュールの制約
<a name="cron-scheduling-constraints"></a>
+ スケジュールされたテスト実行の最小間隔は 1 時間です。システムは、連続して実行されるテストの間隔が、推定テスト時間よりも長いことを検証します。
+ すべての定期的なスケジュールには有効期限が必要です。有効期限 (UTC) を過ぎると、テストは実行されません。
+ スケジュールのタイムゾーンによって、cron がいつ起動するかが決まります。夏時間への移行は自動的に処理されます。DST スプリングフォワード移行のためにスケジュールされた時間が存在しなくなる場合、その回はスキップされます。
+ システムは、ウェブコンソールと API の両方で cron 式を検証します。式が許容される形式と一致しない場合、テストを作成することはできません。