ClamAV病毒扫描日志分析与病毒文件提取方法
学习笔记作者:admin日期:2025-07-02点击:3
摘要:本文介绍了如何在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 使用 |