Fork me on GitHub

Centos Cronでエラーが起きた場合だけメールを送る

  • Nov 04, 2010

categoryプラグインは存在しません。

cronを頻繁に動かしていると、大量にメールが送られてくることがありますが、大事なときだけメールを送信するための設定方法のメモです。

環境

手順

cronは標準出力をメールとしてユーザに送信するようになっているので、特定のキーワードが含まれる場合のみ標準出力するように設定すれば、重要なメールだけを送るようになります。

例えばExceptionというキーワードを含む場合だけメールを送信するようにするには、

command > /tmp/hoge.log; grep -q "Exception" /tmp/hoge.log && cat /tmp/hoge.log

という感じで指定します。

またキーワードを複数指定したい場合は、

command > /tmp/hoge.log; grep -q "Exception" /tmp/hoge.log || grep -q "Error" /tmp/hoge.log && cat /tmp/hoge.log

という感じに記述します。

crontabにこの指定を直接記述するとメールのタイトルが長くなるので、実際には同じ処理を行うシェルスクリプトを用意して、それを呼び出すのみにしたほうが記述もすっきりすると思います。

commentプラグインは存在しません。