crontabをビジュアル化したい(cronv使ってみた)

crontabからバッチ実行のスケジュールをビジュアル化できないかなぁと探していたら、 そのものずばりのツールを見つけました。

GitHub - takumakanari/cronv: A visualizer for CRONTAB

ビルド

GO言語で作られているので、goのコマンドでビルドします。
GithubのREADMEに書いてある通りで動作しました。

$ go get github.com/takumakanari/cronv/cronv
$ go build -o ./cronv github.com/takumakanari/cronv/cronv

使い方

crontabを出力した内容をcronvに食わせればhtmlを出力してくれます。

crontab -l | cronv

オプションを何も指定しないと直近6時間で実行されるジョブが出力されます。
今回は1日に動くバッチ全部が欲しかったので、以下のオプションを使用しました。

crontab -l | cronv --from-time 00:00 -d 24h

※READMEのExampleが「-from-time」とハイフン一つなのですが、実際はハイフン2つなので要注意

ちなみに私の場合はWidowsのbashで動かしたので実際に動かしたコマンドは以下のような感じ

cat crontab.txt | cronv --from-time 00:00 -d 24h -o mycrontab.html

ちょっとひと手間

当然といえば当然なのですが、crontabの実行コマンド名になってしまうので長いパスを書いていたりすると見切れて難のバッチがわからなくなります。
ひと手間かかりますが、crontabを出力して、コマンド部分を日本語に置き換えたりすると、見やすかったです。
crontabのコマンドの1行上のコメント使ってくれる、みたいなオプションがあるといい感じかも?

f:id:katutoki:20200220195804p:plain