Comments: crontab を使って効率的にサービス監視する方法roo さん、コメントありがとうございます。
"> /dev/null" しちゃうと、stderr に出力があった場合に、stderr の内容だけがメールに届くようになるわけですが、それだと運用が難しいな、というのが自分の考えです。
例えば、例に挙げている ping はエラーを返す場合でも、標準エラー出力には何も出力してくれません (なので || echo "ping error" とか書かざるを得ない)。
何が原因なのか分かりやすくする意味でも、エラーがあった場合に標準出力も含めて確認できる、というのが、(監視に限らず)crontab のタスクを書く上で重要だと思います。
> - タスクが異常終了した場合に (のみ)、タスクの出力を (cron が) メール送信
下記のような方法もあるようです。
標準エラー(STDERR)のみアラートメールする
http://tm.root-n.com/unix:cron:stderr2mail
> cronlog使わなくてもcronもメール通知機能ありますよね。
えぇ。ですから、cronlog は cron のメール通知機能を使っています。
cronlog は、多くの cron タスクで求められる、以下のことをさくっと書くために作りました。
- タスクが異常終了した場合に (のみ)、タスクの出力を (cron が) メール送信
- タスクの出力を個別のファイルに (各行にタイムスタンプをつけながら) 保存
いずれも cron 本体にはない機能だと思いますが、私の不勉強ならご指摘いただければ。
cronlog使わなくてもcronもメール通知機能ありますよね。
スクリプトも呼び出せるし。
ログも吐いてくれてるし。
Post a comment