Cronジェネレーター|GUIでCron式を作成
GUIでCron式を視覚的に作成。分・時・日・月・曜日をクリックするだけで正確なCron式を生成。次回5回の実行時刻も即時確認。
すべての値で実行(*)
Cronジェネレーター|GUIでCron式を作成とは
GUIでCron式を視覚的に作成できる無料ツールです。分・時・日・月・曜日をクリックするだけで正確なCron式を生成し、次回5回の実行時刻も即時確認できます。crontab設定・サーバーバッチ処理に必須。
使い方
- 1各タブ(分・時・日・月・曜日)でスケジュールを設定する
- 2またはプリセットから「毎時」「毎日深夜」などを選ぶ
- 3生成されたCron式をコピーしてcrontabに貼り付ける
メリット・特徴
- GUI操作でCron式を直感的に作成
- 次回5回の実行時刻をリアルタイムで確認
- よく使うプリセット(毎時・毎日・毎週など)を収録
- 生成したCron式をワンクリックでコピー
Cron式とは?基本構文を理解する
Cron式はLinux/Unixサーバーでバッチ処理・定期実行を設定するための記法です。5つのフィールドでいつ実行するかを指定します。
5フィールドの構造
「分 時 日 月 曜日」の順で空白区切りで記述します。例:0 9 * * 1-5 は「平日の毎朝9時0分」を意味します。各フィールドで*(全て)、*(ステップ)、,(リスト)、-(範囲)の4つの特殊記号が使えます。
よく使う特殊記号
*(アスタリスク)はすべての値。*/nはnごと(例:*/5は5分ごと)。1,3,5はカンマ区切りでリスト指定。1-5はハイフンで範囲指定。これらを組み合わせることで複雑なスケジュールも表現できます。
crontabへの登録方法
Linuxサーバーでは「crontab -e」コマンドでエディタが開き、Cron式を追加できます。形式は「Cron式 実行コマンド」です。例:0 2 * * * /usr/bin/backup.sh で毎日午前2時にバックアップを実行します。
よく使うCron式パターン集
実務でよく使われるスケジュールパターンをCron式とともに紹介します。このジェネレーターのプリセットにも含まれています。
定期実行のパターン
毎分:* * * * * / 毎5分:*/5 * * * * / 毎時0分:0 * * * * / 毎日深夜0時:0 0 * * * / 毎週月曜朝9時:0 9 * * 1 / 毎月1日:0 0 1 * * / 毎年1月1日:0 0 1 1 *
ビジネスシーンでよく使うパターン
平日9時〜18時の毎時:0 9-18 * * 1-5 / 月〜金の深夜バッチ:0 2 * * 1-5 / 週次レポート(金曜18時):0 18 * * 5 / 月次処理(月末翌日=1日):0 1 1 * *
注意が必要なパターン
「日」と「曜日」を両方指定した場合、ORで動作します(どちらかに一致すれば実行)。ANDにはなりません。また、サーバーのタイムゾーン設定によって実行時刻がずれることがあるため、TZ変数や設定ファイルで明示しておくことが重要です。
クラウド・各種サービスでのCron設定
Cron式はLinuxのcrontabだけでなく、多くのクラウドサービスやフレームワークで同じ形式が使われています。
GitHub Actions でのスケジュール設定
GitHub ActionsのWorkflowでは、on.scheduleにCron式を記述します(UTCタイムゾーン)。例:on: schedule: - cron: "0 9 * * 1-5"で平日UTC9時に実行。日本時間はUTC+9なので9時間引いた値で設定します。
AWS Lambda / CloudWatch Events
AWS CloudWatchのスケジュールルールではCron式またはRate式が使えます。Cron式の場合はcron(分 時 日 月 曜日 年)の6フィールド形式(年フィールドが追加)になります。
Laravelのタスクスケジューラ
LaravelではApp\Console\Kernelのschedule()メソッドにcron()を使って同様の記述ができます。ただしLaravelのCron実行には、サーバー側で「* * * * * php artisan schedule:run」を登録する必要があります。
よくある質問(FAQ)
- Cron式の5つのフィールドの意味は?
- 左から「分(0-59) 時(0-23) 日(1-31) 月(1-12) 曜日(0-7)」の順です。曜日は0と7が日曜、1が月曜、6が土曜です。各フィールドで*(全て)、/(ステップ)、,(リスト)、-(範囲)が使えます。
- 毎5分実行するCron式は?
- */5 * * * * です。*/5は「5の倍数の分(0,5,10,15...)」を意味します。同様に毎10分は*/10、毎15分は*/15になります。
- 平日の午前9時に実行するには?
- 0 9 * * 1-5 です。1-5は月曜(1)から金曜(5)の範囲指定です。土日も含めるなら 0 9 * * * になります。
- 月の最終日に実行することはできますか?
- 標準的な5フィールドCronでは月の最終日指定は直接できません。「28-31日」で代替するか、スクリプト内でdateコマンドで最終日か判定する方法が一般的です。
- Cron式パーサーとジェネレーターの違いは?
- パーサーは既存のCron式を入力して「何をする式か」を説明するツールです。ジェネレーターはGUIで実行したいスケジュールを設定してCron式を生成するツールです。両方を組み合わせることで、Cron式の作成・確認が完結します。
不具合や動作がおかしい点を見つけたら教えてください。
不具合報告はこちら →