Dark Star1 Asked: 2016-02-27 01:18:14 +0800 CST2016-02-27 01:18:14 +0800 CST 2016-02-27 01:18:14 +0800 CST 是否可以检查当前正在运行的 clamAV 扫描的进度? 772 我已经四处搜索,但到目前为止还没有找到可能的解决方案。我有一个正在进行的扫描,我认为它会在某个时间完成,但不幸的是它没有。所以我想知道是否有办法检查这个正在进行的进度的扫描进度。 anti-virus 2 个回答 Voted Best Answer geerlingguy 2017-08-05T06:44:00+08:002017-08-05T06:44:00+08:00 AFAICT,这是不可能的——您可以将所有扫描的文件打印到控制台,或者只打印受感染的文件。然后在最后,ClamAV 将打印一个摘要。我还没有找到一种方法来获得任何持续的统计数据。 我能想象破解它来做到这一点的唯一方法是: 首先,递归计算 ClamAV 将扫描的目录中的所有文件,然后将该数字存储在变量中。 运行包含在脚本中的 ClamAV,该脚本对输出的行数进行计数,并将其与步骤 1 中的计数进行比较。 有一次我尝试过快速执行此操作,但无法让它很好地完成我设置的自动化 Jenkins 工作......所以我最终放弃了它。对不起 :( suleyman 2020-06-11T21:08:43+08:002020-06-11T21:08:43+08:00 这是一个旧的,已回答的线程,但我想尝试 geerlingguy 的想法(我是他的粉丝 :-)),以防其他人最终在这里提供一个编码的解决方案。 例如,如果要扫描文件夹foo,则使用以下命令开始扫描: clamscan -r foo | tee /tmp/scan.log 或者 clamscan -r foo > /tmp/scan.log 然后,您可以使用正在扫描的文件夹和日志文件的参数运行以下脚本,在此示例中 status.sh foo /tmp/scan.log status.sh 文件的内容是: #!/bin/bash folder=$1 log=$2 numFiles=`find $folder -type f | wc -l` echo $numFiles files to be processed numProcessed=`wc -l $log | awk '{print $1'}` percent=`echo "scale=2;$numProcessed*100./$numFiles." | bc` echo $percent percent complete. 如果需要,可以将运行扫描和检查状态合并到一个脚本中。
AFAICT,这是不可能的——您可以将所有扫描的文件打印到控制台,或者只打印受感染的文件。然后在最后,ClamAV 将打印一个摘要。我还没有找到一种方法来获得任何持续的统计数据。
我能想象破解它来做到这一点的唯一方法是:
有一次我尝试过快速执行此操作,但无法让它很好地完成我设置的自动化 Jenkins 工作......所以我最终放弃了它。对不起 :(
这是一个旧的,已回答的线程,但我想尝试 geerlingguy 的想法(我是他的粉丝 :-)),以防其他人最终在这里提供一个编码的解决方案。
例如,如果要扫描文件夹foo,则使用以下命令开始扫描:
或者
然后,您可以使用正在扫描的文件夹和日志文件的参数运行以下脚本,在此示例中
status.sh 文件的内容是:
如果需要,可以将运行扫描和检查状态合并到一个脚本中。