ジェネレーター

Cron式ジェネレーター

Cron式を簡単に作成・検証します。次回実行日時も確認できます

よく使うパターン:

毎分
毎時0分
毎日午前9時
毎週月曜9時
月初0時
平日9時
30分ごと
3時間ごと

ビジュアルビルダー

フォーマット: 分 時 日 月 曜日


Cron式を直接入力

フォーマット: 分 時 日 月 曜日

📖 Cron式の記法

* * * * *

分 時 日 月 曜日(0=日曜、1=月曜、...、6=土曜)


特殊文字:

* - すべての値(毎分、毎時など)

, - 複数指定(例: 1,3,5)

- - 範囲指定(例: 1-5で月曜〜金曜)

/ - 間隔指定(例: */5で5分ごと)

💡 Cronの雑学・Tips
🕰️ Cronの名前の由来

「Cron」という名前はギリシャ語で「時間」を意味する「chronos(クロノス)」に由来します。1970年代にAT&T Bell研究所で開発され、UNIX系OSでスケジューリングを行うための標準的な仕組みとして定着しました。

⚠️ 曜日と日の組み合わせに注意

Cron式で「日」と「曜日」の両方を指定すると、OR条件として扱われます。例えば 0 9 1 * 1 は「毎月1日」または「毎週月曜日」の9時に実行されます。AND条件として扱いたい場合は、どちらか一方を * にする必要があります。

🔧 環境によって異なるCron式のフォーマット

標準的なCronは5フィールド(分 時 日 月 曜日)ですが、一部のシステムでは秒を含む6フィールドや、年を含む7フィールドのフォーマットもあります。Kubernetes CronJobやAWS EventBridgeなど、環境ごとに仕様が異なる場合があるため、ドキュメントの確認が重要です。

💡 @記法(特殊な予約語)

多くのCron実装では、よく使うパターンを簡潔に表現する特殊な記法があります。@yearly(年1回)、@monthly(月1回)、@weekly(週1回)、@daily(毎日)、@hourly(毎時)、@reboot(再起動時)などがあり、可読性が向上します。

⏰ タイムゾーンの罠

Cronジョブはサーバーのローカルタイムゾーンで実行されます。夏時間(DST)がある地域では、時刻が前後する際に2回実行されたりスキップされたりする可能性があります。本番環境では、サーバーをUTCタイムゾーンで運用し、Cron式もUTC基準で設定するのがベストプラクティスです。