crontabの設定ってわかりにくいじゃないですか。
いくら言葉を尽くして説明されたところで、じゃあ実際こうしたらどうなるんだってのがよくわからない。
なので"0 0 13 * 5"って入れたら『13日の金曜日に動くぞ』と教えてくれるサービスを作ってしまおうかと血迷いかけたところでそのまんまなやつを見付けました。
本日紹介するのは、crontab guruという大変便利で素晴らしいサイトです。
https://crontab.guru/
任意の数値を書き込めば、それが動作するタイミングを教えてくれます。
https://crontab.guru/#0_0_13_*_5
“At 00:00 on day-of-month 13 and on Friday.”
13日と金曜日の0時0分に動くぞ。
13日"の"金曜日ではありません。
こういううっかりを教えてくれるのが助かりますね。
https://crontab.guru/#0_0_2-31_*_*
“At 00:00 on every day-of-month from 2 through 31.”
2-31日に動くぞ。
月初だけ動かしたくないときに。
https://crontab.guru/#0_6_*_*_mon-sat
“At 06:00 on every day-of-week from Monday through Friday.”
月曜から金曜の6時0分に動くぞ。
目覚まし。
曜日には、0-7の数字以外に3文字の英字も使うことができます。
ただし標準的な記法ではないので、動作しない環境がある可能性があります。
その旨を注意してくれていますね。
https://crontab.guru/#3-4/100_*_*_*_*
“At every 100th minute from 3 through 4.”
3-4分のうち100分おきに動くぞ。
これ実際は毎時3分だけ動くと思うですが、流石にそこまで解釈してくれたりはしないみたいです。
機械的に解答を出しているだけのようですね。
https://crontab.guru/#60_*_*_*_*
正しくない指定の場合は、どこが間違っているかを出してくれます。
修正が捗りますね。
https://crontab.guru/#@reboot
“After rebooting.”
これだけ時間指定ではなく、再起動時に実行するという特殊な設定です。
OSの再起動かcrondの再起動かはよくわからない。
https://crontab.guru/#@weekly
“At 00:00 on Sunday.”
日曜日0時0分に動くぞ。
こんな設定あったのか。
しらなかった。
他にも@daily
とか@monthly
とか定型的なものが幾つかあるようです。
ただ時刻の設定ができないみたいなので、使い道はちょっと難しいですね。
random
randomを押すと、なんか適当に設定したcronを表示してくれます。
用途はよくわからない。
next
nextには、次にそのcronが動作する時刻が表示されています。
さらにnextをクリックすると、次の5回いつ動くかを教えてくれます。
これはとても便利。
感想
毎時10分、みたいな簡単なのであればわざわざ使う必要もないのですが、少し面倒な条件で指定したい場合のcrontabって確認がとても大変じゃないですか。
そんなときにたいへん頼りになる、非常に有用なサイトです。
cronitor.io
crontab.guruの運営者は、cron監視ツールcronitor.ioを運営しています。
というかcronitor.io
が本体でcrontab.guru
は撒き餌ですね。
使い方はCron監視ツール「Cronitor」の導入などを参照してください。
自力でやるとそれなりに面倒な、cronの監視を簡単に行える便利サービスです。
これもまた便利なサービスですね。