質問: 複数の拠点(数十箇所)にあるサーバーから、自動バックアップが完了(成功)したメールが大量に送信されてきます。 主に夜間送られてくるものを、朝確認しているのですが、とても人力でチェックできる量ではありません。 こういうメールを自動でチェックし、届いていない場合だけアラートを上げるようなツール、仕組みはないでしょうか。 よろしくお願いします。
回答: (1)前提:すべてのサーバから送られてくるfromのメールアドレスは, ●サーバ毎にユニーク. ●かつ,バックアップの用途以外では使われない. ●かつ,成功したとき以外送ってこない. ●かつ,バックアップの結果メールであることを示す,「決まった文字列」を含む. ように設定しておく. (2)チェック対象のメールアドレスの一覧のファイルを作成する. ソートしておく. (3)毎日mail.logを「決まった文字列」でgrepし,awkなどでメールアドレス部分を取り出し,ファイルに出力する. このファイルもソートしておく. (4) (2)と(3)のファイルをdiffコマンド,-sオプションで比較すると,「一致しなかったメールアドレスだけ」が表示される.→ それが失敗したサーバです. (5) (3)(4)処理をcrontabで毎日決まった時刻に実行し、結果をファイルに保存する. 日中そのファイルを確認すればよい. 「失敗したサーバ」が人力でチェックできないほど多いのならだめですが... (^^;