我们已将 ClamAV 配置为使用 inotifywait 自动扫描受监控目录中的文件。
# Start the monitoring tool and log the scan results
nohup inotifywait -m -r -e create "$MONITOR_DIR" --format '%w%f' |
# Scan the file with ClamAV
SCAN_RESULT=$(sudo clamdscan --remove --fdpass --multiscan -v "$FILE" 2>&1)
# Log the result of the scan
if [ $? -eq 0 ]; then
echo "$(date) - ClamAV: $FILE - OK" >> $CLAMAV_LOG
else
echo "$(date) - ClamAV: $FILE - INFECTED" >> $CLAMAV_LOG
INFECTED_FILES=$((INFECTED_FILES+1))
# Delete the infected file
rm "$FILE"
ClamAV 守护程序已被授予对监控目录及其日志的完全访问权限。然而,在测试过程中,我们发现 ClamAV 有时会在扫描过程中跳过文件。例如,当扫描 20,000 个文件时,实际上可能只扫描了 14,000 个文件。