「0 1-23/2 * * *」──この文字列を初めて見たとき、正直こう思いました。
あかん、これ呪文やん。俺には無理w
でも実は、ちょっとした法則を知るだけで cron の記法はスッキリ理解できます。
今回は特に、よく出てくる */2 や /1 の正体を解説します。
1. cron の基本構造は「5つの数字」だけ
cronは「いつ・どの間隔で・何を実行するか」を指定する仕組みです。
基本構造は次の5フィールド:
分 時 日 月 曜日 コマンド
| フィールド | 意味 | 範囲 | 例 |
|---|---|---|---|
| 分 | 0〜59分 | 0 = 毎時00分 | */5 → 5分ごと |
| 時 | 0〜23時 | */2 = 2時間おき | 0 */2 * * * |
| 日 | 1〜31日 | * = 毎日 | 0 6 * * * |
| 月 | 1〜12月 | * = 毎月 | 0 6 1 * * |
| 曜日 | 0〜6(0または7が日曜) | 0=日曜、1=月曜…6=土曜 | 0 6 * * 1 → 月曜朝6時 |
曜日だけ「0または7=日曜」という独自ルールがあるのがポイントです。
2. */2 の正体──「/」はステップ(間隔)
スラッシュ (/) は ステップ(step) を意味します。
つまり「○○ごとに実行」というリズムを刻む記号。
*は「全て」=「毎回」/2は「2刻みで」
この2つを組み合わせた */2 はつまり「全範囲を2刻みで」=「2時間おき」です。
0 */2 * * * → 0時, 2時, 4時, 6時, … 22時
もし奇数時間(1時・3時・5時…)に動かしたいなら:
0 1-23/2 * * * → 1時, 3時, 5時, … 23時
ステップ指定は他にも使えます:
*/5 * * * *→ 5分おき*/10 * * * *→ 10分おき0 */6 * * *→ 6時間おき
3. /1 は「律儀な優等生」
*/1 は「1刻みで全部」──つまり 結局 * と同じ です。
わざわざ「毎時間ごとに全部動かす」と宣言してるだけの優等生設定なので、省略してOK。
0 */1 * * * == 0 * * * *
意味はどちらも「毎時0分に実行」。見た目がちょっと賢そうなだけです(笑)
4. よく使う cron の書き方一覧
| やりたいこと | 書き方 | 意味 |
|---|---|---|
| 毎日6時に実行 | 0 6 * * * | 毎朝6時ちょうど |
| 1時間おき | 0 * * * * | 毎時0分に |
| 2時間おき | 0 */2 * * * | 2時間ごと(0,2,4…) |
| 奇数時間のみ | 0 1-23/2 * * * | 1,3,5,7…時 |
| 5分おき | */5 * * * * | 5分間隔 |
| 毎週月曜6時 | 0 6 * * 1 | 月曜朝6時だけ |
5. まとめ:「cron は呪文じゃない、テンポだ」
最初は呪文みたいに見えても、* と / の関係を知るだけで一気に読めるようになります。
「* は全部、/ はステップ、数字はリズム」
これさえ覚えれば、もう怖くない。cron は魔法じゃなく、テンポのあるリズム制御です🥁
📩 info@hd0.biz
この記事は「masaやん」によって作成されました。


コメント