[ClamAV] WARNING: Clamd was NOT notified: Can’t connect to clamd through /var/run/clamav/clamd.sock
ClamAV を Cron に登録するためのシェルスクリプトを作成して、確認のため実行したら、ウイルス定義のパターンファイル更新時にエラーが発生しました。
ちなみに、シェルスクリプトの内容は下記のような感じです。
/usr/local/scripts/clamav.sh
#!/bin/bash logfile="/var/log/clamav/clamav_$(date +%Y%m%d%H%M).log" update_logfile="/var/log/clamav/clamav_update.log" mail_to="[email protected]" mail_from="[email protected]" /usr/bin/freshclam --quiet -u root -l ${update_logfile} > /dev/null 2>&1 /usr/bin/clamscan -r -i --quiet -l ${logfile} \ --exclude-dir="/sys" \ / > /dev/null 2>&1 if [ $? != 0 ] then cat ${logfile} | mail -s "[ClamAV report] $(hostname)" ${mail_to} -- -f $mail_from fi |
エラー内容
WARNING: Clamd was NOT notified: Can't connect to clamd through /var/run/clamav/clamd.sock |
警告が出たので /var/run/clamav/clamd.sock を確認してみるとありませんでした。
それもそのはず、clamd をデーモンで起動させていないので、freshclam がウイルス定義のパターンファイルを更新後、clamd に通知できないのが原因でした。
freshclam.conf ファイルの NotifyClamd の行をコメントアウトしてあげればOKです。
/etc/freshclam.conf
NotifyClamd /etc/clamd.conf ↓(コメントアウト) #NotifyClamd /etc/clamd.conf |
参考情報
/etc/freshclam.confで
NotifyClamd /etc/clamd.conf
と設定されている場合
freshclam はウイルス定義のパターンファイルを更新した後、clamd にその旨を通知しようとします
しかしclamdが起動していない場合は、通知できず上記のエラーが出るようですclamdデーモンを起動させない場合は、上記の設定を無効にします
#NotifyClamd /etc/clamd.confもし clamdデーモンが起動していてエラーがでる場合は /tmp/clamd.sockが存在するか確認します
clamdが起動していてsockファイルが存在しない場合/etc/clamd.confで
LocalSocket /tmp/clamd.sock
#TCPSocket 3310
になっているか確認します
以上です。