Cron式ジェネレーター
ドロップダウンから分・時・日・月・曜日を選ぶだけでcrontabのスケジュールを作成 — わかりやすい日本語の説明文とよく使うプリセット付き。
696回閲覧
5つのフィールド
cron式は左から順に分・時・日(月内)・月・曜日の5つのフィールドで構成されます。*は「すべて」を意味し、*/15は「15単位ごと」、1,15は「リスト」、1-5は「範囲」を表します。たとえば0 9 * * 1-5は平日の9:00に、*/10 * * * *は10分ごとに、0 0 1 * *は毎月1日の0時に実行されます。
注意点:日(月内)と曜日の両方を指定した場合、この2つはOR条件として扱われます(多くの人を驚かせるポイントです)。曜日の0と7はどちらも日曜日を意味します。実行時刻はサーバーのタイムゾーンに従います。クラウドのスケジューラ(GitHub Actions、AWS、Kubernetes CronJobなど)も同じ5フィールドを使用しますが、一部拡張が加えられている場合があります。
よくある質問
30秒ごとに何かを実行するにはどうすればいいですか?
従来のcronの最小単位は1分です。よくある回避策は2行を用意することです。1行は通常通り、もう1行はコマンドの前に`sleep 30 &&`を付けたものにします。あるいは秒単位に対応したsystemdタイマーを使う方法もあります。
9:00に設定したジョブがおかしな時刻に実行されたのはなぜですか?
ほとんどの場合、原因はタイムゾーンです。crontabはサーバーのローカル時刻で動作します(クラウド環境ではUTCであることが多いです)。ホスト上で`date`コマンドを実行して確認するか、対応している場合はCRON_TZを設定してください。
式を安全にテストするにはどうすればいいですか?
まずログ出力用のコマンドに向けてテストしましょう:`* * * * * date >> /tmp/cron-test.log`。実行間隔を確認できたら、実際のコマンドに差し替えます。また、crontabを実行するユーザーに必要なPATHが通っているかも確認してください — cronの実行環境は最小限に限られています。
関連ツール
問題を報告
Cron式ジェネレーター