使い方
- 上の欄に「毎日3時」「毎週月曜9時30分」のような日本語で予定を入力する(入力と同時に変換されます)。
- 例文ボタンを押すと、対応している表現がそのまま入力欄に反映されます。
- 生成されたcron式をコピーし、
crontab -eで編集中のファイルに貼り付けます。各フィールドの意味と、次回実行される日時の候補も確認できます。
仕組み・計算式
日本語の文からキーワード(毎日・毎週・平日・週末・土日・毎月・毎時・毎年・〜分おき)と、数値(時刻・曜日・日付)を正規表現で抜き出し、crontab(5) が定義する5フィールド(分 時 日 月 曜日)の形式に組み立てています。AIによる推測は行わず、決まったパターンに一致しない入力はエラーとして表示します。時刻は「9時」「9時30分」「9時半」のいずれの書き方にも対応し、全角数字は半角に変換してから解析します。曜日は「月曜」「月」のような単独指定のほか、「月水金」のように文字を並べた指定や「土日」「週末」のまとめ指定も扱います。
次回実行日時は、現在時刻の1分後から1分刻みで条件に一致する日時を最大366日先まで探索し、見つかった順に5件まで表示します。1年以内に一致がなければその旨を表示します。
現場の落とし穴:cronでは「日(day-of-month)」と「曜日(day-of-week)」を両方とも * 以外で指定すると、直感に反してAND条件ではなくOR条件になる。これは crontab(5) に明記されたVixie cron由来の仕様で、たとえば「毎月1日と毎週月曜日」を両方指定したつもりでも、実際には「1日、または月曜日」のどちらかに一致した日すべてで実行される。本ツールが生成する式は日本語の1文から日・曜日のどちらか一方だけを読み取る作りのため通常この状態にはならないが、生成後のcron式を手で編集して両方を指定する場合は、この仕様を必ず思い出してほしい。
よくある質問
Q. 「毎月末日」のような表現は使えますか?
A. 末日は月によって日数が変わるため、日付の並記(例:「毎月1日と15日」)としては対応していない。cron自体にも「末日」を直接表す書き方はなく、シェル側で date コマンドなどを使って判定する必要がある。
Q. 「9時から18時まで1時間おき」のような範囲指定はできますか?
A. 現在のルールでは対応していない。生成されたcron式の時フィールドを 9-18 や 9-18/1 のように手で書き換えれば表現できる。
Q. 秒単位で指定できますか?
A. できない。標準のcrontabは分単位が最小で、5フィールドが基本形式のため、本ツールも秒は扱わない。
Q. 入力した文章はサーバーに送信されますか?
A. されない。解析と次回実行日時の計算はすべてブラウザ内のJavaScriptで完結する。
関連ツール
最終更新・根拠の確認日: 2026-09-14 · カテゴリ: Linux・サーバー