ClamAV病毒扫描日志分析与病毒文件提取方法

学习笔记作者:admin日期:2025-07-02点击:0

摘要:本文介绍了如何在ClamAV病毒扫描脚本中查看病毒文件列表,以及如何快速从大量日志文件中提取病毒信息。通过grep、jq等工具实现高效搜索和数据处理。

1. 病毒文件是否会被删除?

      根据代码分析,clamdscan_wrapper.sh 脚本使用 clamdscan 命令进行扫描,默认情况下仅检测病毒,不会自动删除感染文件。

2. 如何查看病毒列表?

方法一:查看日志文件

  • 详细日志文件:/www/server/panel/plugin/clamav/data/logs/{scan_id}.log
  • 总日志文件:/www/server/panel/plugin/clamav/total.log
cat /www/server/panel/plugin/clamav/data/logs/1719500000.log

方法二:运行 clamdscan 命令

clamdscan /path/to/scanned/folder --fdpass

3. 快速搜索病毒文件列表

方法一:使用 grep

grep -h '"virus_name":' /www/server/panel/plugin/clamav/data/logs/*.log

方法二:使用 jq 提取结构化数据

for file in /www/server/panel/plugin/clamav/data/logs/*.log; do
    jq -r '. | select(.infected_files > 0) | "\(.scan_path) -> \(.virus_name[])"' "$file"
done

方法三:统计所有病毒文件(去重)

for file in /www/server/panel/plugin/clamav/data/logs/*.log; do
    jq -r '.virus_name[]?' "$file"
done | sort | uniq

方法四:按日期筛选日志文件

find /www/server/panel/plugin/clamav/data/logs/ -name "*.log" -mtime -7

4. 小结

目标 命令
查找包含病毒的所有日志 grep -h '"virus_name":' /logs/*.log
显示病毒文件路径 jq -r '. | select(.infected_files > 0) | "\(.scan_path) -> \(.virus_name[])"' log_file.log
所有病毒文件去重列表 jq -r '.virus_name[]?' *.log | sort | uniq
最近7天内发现的病毒 结合 find -mtime -7 使用

上一篇      下一篇