web-dev-qa-db-ja.com

`clamdscan`でフォルダーを除外して` --infected`のみをログに記録する方法

私のサーバーはcentos 7.4で、clamav 0.101.1-1.el7です。
私が実行するときclamscan -r --infected --exclude-dir="^/sys" /ターミナルを介して、出力を取得するまで常に6時間以上待機します。
そして、ターミナルを閉じると、clamscanが停止します。

次に、clamdscanを使用してバックグラウンドでスキャンしたいと思います。
私の質問は次のとおりです。
1。方法--exclude-dir="^/sys" / with clamdscan
2。clamdscanをログに記録する方法--infected

2
kittygirl

clamdscanには、コマンドラインで利用できるclamscanほど多くのオプションはありません。
clamdscanはほとんどのオプションを設定ファイルから読み取ります/etc/clamav/clamd.conf/etc/clamav/clamd.confファイルに複数のExcludePathオプションを追加できます。これらはRegExにあります:

ExcludePath ^/dev/
ExcludePath ^/proc/
ExcludePath ^/sys/

次に、次のコマンドで実行できます。

clamdscan --multiscan --fdpass --quiet /

--multiscanは複数のスレッドを使用するため、処理が高速化されます。
--fdpassを使用すると、clamav-daemon.serviceを実行しているclamdユーザーとしてファイルをスキャンできます。
--quietは、感染ファイルを除くすべての出力を抑制します。少なくともそれは私のシステムではそうであるように見えますが、それはドキュメントに記載されている方法ではありません。

ファイルに保存したい場合は、出力をリダイレクトするだけですclamdscan <options> > /save/file.txt
または--log=FILEオプションを使用してファイルに保存します。

コマンドをcronジョブに入れれば完了です。
スクリプトを作成している場合は、clamdscanの終了コードを確認し、ウイルスが検出されたときにスクリプトでメールを送信することをお勧めします。

0:ウイルスは見つかりませんでした。
1:ウイルスが見つかりました。
2:エラーが発生しました。

clamdscanドキュメント: https://linux.die.net/man/1/clamdscan
clamd.confドキュメント: https://linux.die.net/man/5/clamd.conf

3
steveH