ちょっとした野暮用で小一時間で作ったPythonツールです。
せっかくなので、PyPIにも初めて登録したので、Qiitaでも紹介。
2017年になってcron使っている人は少ないかもしれませんが...
どんなツールか
crontabで設定したクーロンが、指定した時間内にどの様に動くかをテキスト出力するツール。
複数サーバで、複数プログラムを串刺しに簡単に調べられます。
もともとは、サーバメンテナンスで、cronの状況を確認する必要があり、さっと作りました。
ソースコード
以下にあります。(スターがつくと喜びます)
使い方
インストール
pip install cronquot
実行方法
以下の様な感じでcrontabのデータをcrontabディレクトリ配下に用意し、crontab -l
で出力したファイルを配置します。
$ cat crontab/batch.txt
*/30 */10 11 * * /usr/local/bin/potato.sh
*/10 */2 2 * * echo `date` >> /tmp/log.txt
以下の様な感じで実行すれば、result.csvファイルができて、確認できます。
引数で実行期間を指定できます。引数がなければ本日の0時〜24時になります。
- 開始は -sYYYYmmddHHMMSS
- 終了は -eYYYYmmddHHMMSS
(venv)ShoheiMacBookPro:tmp shohei$ cronquot -s20170403100000 -e20170403120000
(venv)ShoheiMacBookPro:tmp shohei$ cat result.csv
date, hour, miniute, second, scrip, server
2017-04-03,10,10,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,20,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,30,00,/usr/local/bin/potato.sh,batch
2017-04-03,10,30,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,40,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,10,50,00,echo `date` >> /tmp/log.txt,batch
2017-04-03,11,00,00,/usr/local/bin/potato.sh,batch
2017-04-03,11,30,00,/usr/local/bin/potato.sh,batch
2017-04-03,12,00,00,/usr/local/bin/potato.sh,batch
2017-04-03,12,00,00,echo `date` >> /tmp/log.txt,batch
crontabディレクトリに複数ファイルを入れれば、まとめて見てくれます。
サーバを串刺しで見ることも可能です。
(-d
でディレクトリを指定することも可能です)
注意
- cronの区切りはタブでないと使えません。
僕自身がタブで困らなかったので、特別機能追加してないです。
必要な方はPR出してもらえると助かります(issue上げてもらうと対応するかも)
その他
自分用に作ったツールなので、バグってたらごめんなさい...
実行結果を見るツールは世の中に結構あるのですが、コマンドからサクって動くものが欲しかったので作りました。
やっぱり、ちゃんとPyPIに出そうと思って作ると簡単なツールでも神経をつかうなと感じました。
PyPIの使い方も、そのうち書こうかなと。