Cron式ジェネレーター

フィールドごとにcronスケジュールを設定し、その内容をわかりやすい説明で確認して、crontab行をコピーできます。よく使われる例を選んですぐに始めることもできます。

5分ごと.
よく使う例

Cron式を即座に作成

分・時・日・月・曜日の各フィールドを設定するだけで、そのまま使えるcrontab行と、わかりやすい説明が得られます。

すべての処理はブラウザ内で直接実行されます。データはどこにも送信されず、スケジュールも保存されません。

Cron式とは?

cron式とは、Unix系システムでコマンドを一定の時刻・日付・間隔で自動的に実行するために使われる、5つのフィールドからなるパターンです。

各フィールドは分・時・日・月・曜日という異なる時間の単位を制御し、これらを組み合わせることでジョブを実行する正確なタイミングが決まります。

Cronフィールドの構文

0–59
0–23
1–31
1–12
曜日 0–6(0 = 日曜日)

特殊文字

* 任意の値 — そのフィールドの取り得るすべての値に一致します
, 値のリストの区切り文字 — 例:1,15は1日と15日を意味します
- 値の範囲 — 例:1-5は月曜日から金曜日までを意味します
/ ステップ値 — 例:*/15は15単位ごとを意味します

Cronジェネレーターを使う理由

  • スケジュールされたジョブを密かに壊してしまう構文ミスを防げます
  • スケジュールを適用する前に、わかりやすい説明で内容を確認できます
  • ゼロから書く代わりに、よく使う例から始められます
  • 任意のコマンドを含む、そのまま貼り付けられるcrontab行を取得できます
  • インストールやアカウント登録は不要です

Cron式の作成方法

  1. 分・時・日・月・曜日の各フィールドを設定するか、よく使う例を選択します
  2. 必要に応じて、実行したいコマンドを追加します
  3. わかりやすい説明を確認し、スケジュールが正しいことを確かめます
  4. crontab行をコピーして、crontabファイルに貼り付けます

Cronのベストプラクティス

頻繁すぎるスケジュールよりも、特定の時刻を指定する方が望ましいです。5分や15分ごとで十分な場合に毎分ジョブを実行すると、リソースを浪費します。

ジョブが日と曜日の両方に依存する場合、多くのcron実装ではこの2つのフィールドをAND(かつ)ではなくOR(または)として扱う点に注意してください。

失敗が見過ごされないように、スケジュールされたジョブの出力は必ずログに記録してください(例:ファイルへのリダイレクト)。

よくある使用例

  • データベースの自動バックアップ
  • ログのローテーションとクリーンアップ処理
  • レポートの定期生成
  • キャッシュのウォームアップまたは無効化
  • 定期的なメールダイジェストの送信
  • システム間のデータ同期
  • ヘルスチェックと監視用のping
  • 証明書やトークンの更新

よくある質問

cronジョブはどのタイムゾーンで実行されますか?

デフォルトでは、cronはシステムのローカルタイムゾーンを使用します。一部のプラットフォームでは、ジョブごとやcrontabごとに特定のタイムゾーンを設定できます。詳細はお使いのシステムのドキュメントを確認してください。

cron式に秒を含めることはできますか?

標準的なUnixのcronは5つのフィールド(分以上)のみをサポートし、秒のフィールドはありません。Quartzなどの一部のスケジューラーでは、オプションで秒のフィールドをサポートしていますが、それは異なる形式です。

日と曜日の両方を設定した場合はどうなりますか?

多くのcron実装では、いずれかの条件が一致すればジョブが実行されます(ANDではなくOR)。特定の日付かつ特定の曜日にのみ実行したい場合は、通常スクリプト自体に追加のロジックが必要です。

使用する前にcron式をテストするにはどうすればよいですか?

ここに表示されているわかりやすい説明を確認し、意図した内容と一致しているかを確かめてください。本番環境で利用する前に、実際のシステム上で短期間のテストスケジュールを使って動作を確認することをお勧めします。

cronとsystemdタイマー、どちらを使うべきですか?

cronはシンプルでどこでも動作するため、単純な定期タスクには最適です。systemdタイマーは依存関係の管理、ログ記録、実行漏れの処理などより高度な制御が可能で、すでにsystemdを使用しているシステムには良い選択肢です。

トップへ