Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

CentOS6:ClamAV(Clam AntiVirus)のインストール及び設定(2)

前回はClamAVのインストールと基本設定まで説明しましたが、今回は下記内容を実現したいと思います。
・自動定期アップデート
・自動定期スキャン
・スキャナ後の結果をメールで通知する

↑これらのことを全部一つのバッチで実現しましょう

それではバッチを作りましょうw

vim /root/clamscan.sh

バッチ↓

#!/bin/bash

PATH=/usr/bin:/bin
CLAMSCANTMP=/tmp/clamscan.log

rm -f $CLAMSCANTMP

# clamd更新
yum -y update clamd > /dev/null 2>&1

# 除外リスト
excludelist=/root/clamscan.exclude

if [ -s $excludelist ]; then
    for i in `cat $excludelist`
    do
        if [ $(echo "$i"|grep \/$) ]; then
            i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
            excludeopt="${excludeopt} --exclude-dir=$i"
        else
            excludeopt="${excludeopt} --exclude=$i"
        fi
    done
fi

echo ${excludeopt}

# ウィルス定義ファイル更新
freshclam > /dev/null

# ウィルススキャン
clamscan --recursive /  --infected --remove --move=/tmp/clamscan_removed --log=$CLAMSCANTMP ${excludeopt}

# 結果メール通知
cat $CLAMSCANTMP | mail -s "Scan results `hostname`" clamscan@engineer-log.net

除外リストを作りましょう。

vim /root/clamscan.exclude
/etc/          #パスの場合
/root/test.txt  #ファイルの場合

各オプションの説明

–recursiveサブディレクトリごと再帰的に検査。圧縮ファイルは再帰的に解凍して検査
–infectedウイルスに感染したファイルのみを出力
–removeウイルスに感染したファイルを削除する
–moveウイルスに感染したファイルをDIRECTORYへ移動する
–logFILEにログを記録する
–excludeパターンにマッチするファイルを検査しない

詳細のオプション設定を確認したい方はこちら

最後にcronで定期実行を設定しましょう!

crontab -e

毎日2時にrootユーザーでバッチを実行する

* 2 * * * root /root/clamscan.sh

そして、実際に送れてくるメールがこちらです

-------------------------------------------------------------------------------


----------- SCAN SUMMARY -----------
Known viruses: 4297364
Engine version: 0.99
Scanned directories: 102
Scanned files: 334
Infected files: 0
Data scanned: 202.58 MB
Data read: 128.52 MB (ratio 1.58:1)
Time: 53.315 sec (0 m 53 s)

以上です。
それでは、またねw

– PR –
– PR –