Я искал, но пока не нашел возможного решения этой проблемы. У меня идет сканирование, которое, как я думал, должно было быть завершено в определенное время, но, к сожалению, этого не произошло. Поэтому мне интересно, есть ли способ проверить ход сканирования этого текущего прогресса.
AFAICT, это невозможно - вы можете либо распечатать все отсканированные файлы на консоли, либо просто распечатать зараженные файлы. В конце ClamAV распечатает сводку. Мне не удалось найти способ получать текущую статистику.
Единственный способ, которым я мог себе это представить, был бы:
Однажды я попытался сделать это быстро, но не смог заставить его работать достаточно хорошо для автоматизированной работы Дженкинса, которую я настроил ... поэтому в конце концов я отказался от этого. Извини :(
Это старая ветка с ответами, но я хотел попробовать идею geerlingguy (я фанат :-)), и в случае, если другие в конечном итоге здесь, предоставят кодифицированное решение.
Если вы хотите просканировать папку фу например, вы начинаете сканирование с:
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.
При необходимости можно объединить запуск сканирования и проверку статуса в один сценарий.