cron式を構築する方法

· 4 分で読めます

cron式は、Linux、クラウドプラットフォーム、CI/CDパイプライン、ジョブスケジューラで定期的なスケジュールを定義する標準的な方法です。構文はコンパクトですが直感的ではありません — ビジュアルジェネレーターは、タスクがいつ実行されるかを正確に示します。

Cron構文

cron式には5つのフィールドがあります:

┌───────────── 分(0-59)
│ ┌───────────── 時(0-23)
│ │ ┌───────────── 月の日(1-31)
│ │ │ ┌───────────── 月(1-12)
│ │ │ │ ┌───────────── 曜日(0-6、日曜日=0)
│ │ │ │ │
* * * * *

一般的なcronスケジュール

スケジュール 意味
毎分 * * * * * 60秒ごとに実行
5分ごと */5 * * * * :00、:05、:10、:15...
毎時 0 * * * * 各時間の始まりに
毎日深夜 0 0 * * * 毎日00:00に1回
毎日午前9時 0 9 * * * 毎日09:00に1回
毎週月曜日午前8時 0 8 * * 1 毎週月曜日
毎月1日 0 0 1 * * 毎月1日の深夜
平日午後6時 0 18 * * 1-5 月曜日から金曜日

cron式を構築する方法

  1. スケジュールを定義 — ビジュアルコントロールを使って分、時、日、月、曜日の値を選択します。または、「毎時」や「毎日深夜」などのプリセットから始めます。
  2. 実行をプレビュー — ジェネレーターは次の5回の実行を表示し、スケジュールが正しいことを確認します。
  3. 式をコピー — crontab、CI/CD設定、またはクラウドスケジューラに貼り付けます。

特殊文字

文字 意味
* すべての値 * * * * * = 毎分
*/n nごとに */15 * * * * = 15分ごと
, 複数の値 0 8,12,18 * * * = 午前8時、正午、午後6時
- 範囲 0 9-17 * * * = 9時から17時まで毎時

ヒント

よくある質問

cron式の形式は?

標準的なcron式には、スペースで区切られた5つのフィールドがあり、分(0-59)、時(0-23)、月の日(1-31)、月(1-12)、曜日(0-6、0は日曜日)を表します。アスタリスク(*)はそのフィールドの「すべての」値を意味します。

cronで*/5は何を意味しますか?

*/5構文は「5ごと」を意味します。分フィールドでは、*/5は5分ごと(0、5、10、15...)を意味します。時フィールドでは、*/5は5時間ごとを意味します。これは任意のフィールドで機能します。

cron式はすべてのプラットフォームで同じですか?

5フィールド形式は、Linux cron、AWS EventBridge、GitHub Actions、ほとんどのスケジューリングシステムで標準です。一部のプラットフォームは秒または年用に6番目のフィールドを追加します。プラットフォームのドキュメントを確認してください。

毎月の最終日にスケジュールするには?

標準のcronには「最終日」キーワードはありません。スクリプトでの日付チェック付きの毎日実行などの回避策を使用するか、プラットフォーム固有の拡張機能を使用してください(AWS EventBridgeはLを「last」としてサポート)。