cron式読み下し|意味と次回実行の無料ツール

お役立ちツール
状態:読み込み中…

cron式を入力すると、その意味を日本語で読み下し、次回以降の実行時刻も予測します。すべてブラウザ内で処理し、入力内容はサーバーには送りません。

よく使う例(クリックで入力)

※ 解析はあなたのブラウザ内だけで行われ、入力内容がサーバーに送られることはありません(安全)。
※ 対応するのは標準的なcron(分・時・日・月・曜日の5項目)です。?やLなどの拡張記号には対応していません。

このツールの使い方

操作はシンプルです。難しい設定や会員登録は必要ありません。入力欄にcron式を打ち込むだけで、その意味と次回の実行時刻がその場で表示されます。

  1. 入力欄に、分・時・日・月・曜日の5項目を空白区切りで入力します。よく使う例のボタンから入れることもできます。
  2. 入力と同時に、その式が意味するスケジュールが日本語で読み下されます。
  3. 5つの項目それぞれの意味と、次回以降の実行予測が一覧で表示されます。
  4. 読み下しをコピーボタンで、式と意味をまとめてコピーできます。
式の書き方に迷ったら、まずよく使う例のボタンを押して、値を少しずつ変えながら読み下しの変化を見るのがおすすめです。日と曜日を両方指定するとOR条件になる点だけ注意してください。入力した内容はすべてブラウザ内で処理され、外部に送信されません。

そもそもcron式とは?

cron式とは、プログラムを定期的に自動実行する時刻を指定するための書式です。LinuxのcrontabをはじめGitHub Actionsやクラウドのスケジューラなど、定期実行の仕組みの多くがこの書式を採用しています。

標準的なcron式は、空白で区切った分・時・日・月・曜日の5つの項目で構成されます。各項目にはアスタリスクで毎回を表したり、カンマで複数、ハイフンで範囲、スラッシュで間隔を指定できます。たとえば0 3 * * 1-5は、平日の午前3時0分という意味になります。

cron式を使うメリット・デメリット

cron式はごく短い記述で複雑なスケジュールを表現できる強力な仕組みですが、書式の癖を知らないと意図しない時刻に動く事故も起きます。得意なことと注意点の両方を押さえておくと安心です。

メリット

  • たった1行で、毎日・毎時・平日のみといった多様なスケジュールを表現でき、バックアップやレポート生成などの定型作業を自動化できます。
  • Linuxのcrontabだけでなく、多くのクラウドサービスやCIツールが同じ書式を採用しているため、一度覚えれば幅広い環境で使い回せます。
  • 設定がテキスト1行で完結するため、コードと一緒にバージョン管理でき、変更履歴も追いやすくなります。

デメリット・気をつけたい点

  • 日と曜日を両方指定すると、直感に反してOR条件で判定されます。水曜かつ10日のつもりが、水曜または10日で動いてしまう事故が起きがちです。
  • 実行される時刻はサーバーのタイムゾーンに依存します。UTC設定のサーバーでは、日本時間のつもりが9時間ずれることがあります。
  • 標準のcronには月末を直接指定する記号がありません。28から31を指定しても月末とは限らないため、正確な月末処理はスクリプト側の判定が必要です。

こんな時に使うと便利

  • 他人が書いた式の意味を知りたいとき:引き継いだサーバーのcrontabに並ぶ謎の数字が、それぞれ何時に動くのかをすぐ読み解けます。
  • 自分で書いた式を確認したいとき:組んだスケジュールが意図通りか、次回の実行予測を見て公開前に検算できます。
  • OR条件の罠を避けたいとき:日と曜日を両方指定してしまったとき、警告が出るので事故の前に気づけます。
  • 書式を学んでいるとき:値を少しずつ変えて読み下しの変化を見ることで、演算子の働きを手を動かしながら理解できます。

よくある質問

Q
入力したcron式は外部に送信されますか?
A

いいえ、送信されません。解析も次回実行の予測もすべてお使いのブラウザ内で完結し、入力内容がサーバーに送られることはありません。業務サーバーの設定内容でも安心して貼り付けられます。

Q
次回実行予測の時刻はどのタイムゾーンですか?
A

お使いの端末に設定された時刻を基準に計算しています。実際にcronが動くサーバーがUTCなど別のタイムゾーンで動作している場合、表示とは時差が生じます。本番のサーバーのタイムゾーンを確認したうえで、必要に応じて時差を補正して考えてください。

Q
?やLなどの記号を入れると解析できないのはなぜですか?
A

それらが標準のcronにはない拡張記号だからです。疑問符やL、W、シャープなどは、QuartzやEventBridgeといった一部のスケジューラが独自に拡張した記号です。このツールはLinuxのcrontabで使える標準的な書式に対応しているため、これらの拡張記号には対応していません。

Q
アスタリスクとスラッシュの違いは何ですか?
A

役割が異なります。アスタリスクはその項目のすべての値、つまり毎回を意味します。一方スラッシュは間隔を指定する記号で、たとえば分の項目にアスタリスクとスラッシュで15と書くと、15分ごとという意味になります。アスタリスク単体は毎回、スラッシュは何おきかを表す、と区別すると分かりやすいでしょう。

コメント