ClamAVのスキャンした結果をNotifyOSDで通知させる

cronで数時間おきにホームディレクトリ以下をウィルススキャンするようにしていて、結果はログに出力させているのですが、あまり見ることがないのでNotifyOSDで通知させてみました。
環境: Ubuntu11.04 64bit

libnotify-binのインストール

$ apt-get install -y libnotify-bin

libnotify-binをインストールします。これでnotify-sendコマンドが使えるようになります。

notify-sendの使い方

とりあえず通知を表示させてみるだけなら

$ notify-send 'title' 'text'

で。

cronに登録する

以下のコマンドをcronに登録します。面倒なのでScheduled tasks(gnome-schedule)で登録しましたが、crontab -eで書いたほうが早い人はそちらでどうぞ。

RESULT=`clamscan --no-summary -ir -l ~/Log/clamscan.log ~/`; if test $? -eq 1; then DISPLAY=:0 notify-send 'ClamAV Scan' "ウィルスが検出されました\n${RESULT}" -t 10000 -u critical -i /usr/share/icons/hicolor/scalable/apps/apport.svg; fi

以下は読みやすくしてコメントを付けたものです。

# サマリを表示しない、ウィルスのみを表示、再帰的に検索、ログを出力
RESULT=`clamscan --no-summary -ir -l ~/Log/clamscan.log ~/`

# ウィルスが1つ以上見つかった場合
if test $? -eq 1
then
  # 重要度criticalでアイコンを指定して10秒間通知
  DISPLAY=:0 notify-send 'ClamAV Scan' "ウィルスが検出されました\n${RESULT}" -t 10000 -u critical -i /usr/share/icons/hicolor/scalable/apps/apport.svg
fi

10秒間通知、と指定していますが効いていないようです。(notify-osdのせい? notification-daemonに変えると効くようになる?)

スクリーンショット


微妙な見た目というかなんというか…… 加えて--no-summaryを指定しているせいでログにサマリが書かれなくなるのでログも微妙に。
使い続けるか微妙なところです。まあ通知が簡単に使えるのがわかったのはとても良かった……かな?


参考:
notify-sendで通知ポップアップを表示する(トラブル対処の覚え書きを含む) - 試験運用中なLinux備忘録
http://d.hatena.ne.jp/mtv/20110321/p1