Cron式ジェネレーター
Cron式を簡単に作成・検証します。次回実行日時も確認できます
よく使うパターン:
ビジュアルビルダー
フォーマット: 分 時 日 月 曜日
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基準で設定するのがベストプラクティスです。