クロン式パーサー

cron式を解析し、いつ実行されるかを人間が読めるように説明します。cronジョブのスケジュールを作成、または理解する必要がある開発者やシステム管理者に最適です。あなたのcron式がいつ実行されるかを正確に視覚化することで、スケジューリングのミスを防ぎます。

よくある質問

cron式は、Unixライクなシステムにおける自動タスクのスケジュールを定義する、5つまたは6つのフィールドからなる文字列である。フィールドは、分(0-59)、時(0-23)、月(1-31)、月(1-12)、曜日(0-7、0と7は日曜日)を表す。例えば、「0 9 * * 1」は「毎週月曜日の午前9時に実行する」という意味である。

分、時、日、月、曜日を表す5つのアスタリスク(* * * * * *)で始まる。アスタリスクは特定の値や範囲に置き換えてください。例えば、'30 14 * *' は毎日午後2時30分に実行され、'0 0 1 * *' は毎月1日の午前0時に実行され、'*/15 * * *' は15分ごとに実行されます。パーサーを使用して、式が期待通りに実行されることを確認してください。

アスタリスクは、その時間単位の「毎時」または「いつでも」を意味する。例えば、時フィールドの * は毎時、日フィールドの * は毎日を意味する。つまり、「0 * * *」は「毎時0分」(1時間ごと)を意味し、「* * * *」は「毎分」を意味する。これは、そのフィールドのすべての可能な値にマッチするワイルドカードである。

ステップ値の構文を使用する:*/N.5分ごとに:'*/5 * * * *'.3時間ごと:'0 */3 * * *'.つまり、分フィールドの*/5は、0分、5分、10分、15分などを意味する。また、「0-30/5」のように、最初の30分間を5分ごとに指定することもできます。

はい!曜日フィールド(5番目のフィールド)には1~5を使用してください。例えば、'0 9 * * 1-5'は月曜日から金曜日の午前9時に実行されます。月曜日は1、金曜日は5です。また、特定の曜日を指定することもできます:'0 9 * * 1,3,5'は月曜日、水曜日、金曜日の午前9時にのみ実行されます。

これらは、ジョブが実行される日を指定する2つの異なる方法である。月(3番目のフィールド)は日付1-31を使用し、曜日(5番目のフィールド)は0-7(0と7は日曜日)を使用する。両方を指定した場合(*は指定しない)、どちらか一方の条件が一致したときにジョブが実行される。例えば、'0 0 1 * 1'は、毎月1日の午前0時と毎週月曜日の午前0時に実行される。

平日の午前9時から午後5時まで:各時間の開始時に「0 9-17 * * 1-5」が実行されます。営業時間中は30分ごとに'*/30 9-17 * * 1-5'.9-17は午前9時から午後5時まで、1-5は月曜日から金曜日までです。

どちらも毎日午前0時に実行されます。多くのcron実装はショートカットとして@daily、@hourly、@weekly、@monthly、@yearlyのような特別な文字列をサポートしています。これらは読みやすいですが、完全な式よりも柔軟性に欠けます。一般的なインターバルにはショートカットを使用し、カスタムスケジュールには完全な式を使用してください。

標準的なcron式はサーバーのシステム時間に基づいて実行されます。タイムゾーンを処理するには、サーバーのタイムゾーンを正しく設定するか、時差を計算してください。いくつかの高度なcron実装はタイムゾーン指定をサポートしていますが、基本的な5フィールド形式はタイムゾーン情報を含んでいません。

私たちのCron Expression Parserを使用して、あなたの式が期待されるスケジュールの説明を示していることを確認してください。パーサーはあなたのジョブがいつ実行されるかをわかりやすく説明し、本番にデプロイする前に'0 9 31 2 *' (2月31日が存在しない)のようなエラーをキャッチするのに役立ちます。