Приведу пример скрипта для сканирования и email уведомлений при обнаружении зараженных файлов.
Подразумевается что ClamAV установлен и сервер может отправлять почтовые сообщения.
Содержимое скрипта:
#!/bin/bash
LOGFILE="/var/log/clamav/clamav-$(date +'%Y-%m-%d').log";
EMAIL_MSG="Please see the log file attached";
EMAIL_FROM="test@ixnfo.com";
EMAIL_TO="test@ixnfo.com";
DIRTOSCAN="/var/www /var/vmail";
for S in ${DIRTOSCAN}; do
DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);
echo "Starting scan of "$S" directory.
Directory size: "$DIRSIZE".";
clamscan -ri "$S" >> "$LOGFILE";
#clamscan -ri --remove "$S" >> "$LOGFILE";
#find /var/log/clamav/ -type f -mtime +30 -exec rm {} \;
MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);
if [ "$MALWARE" -ne "0" ];then
echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO";
fi
done
exit 0
Сделаем файл исполняемым:
chmod 0755 /root/scripts/clamscan.sh
При запуске скрипта выполнится сканирование указанных директорий /var/www и /var/vmail, сохранятся логи в /var/log/clamav/, если в логах будет встречаться слово «Infected», то файл логов будет отправлен на указанный email. Чтобы антивирус также удалял угрозы, добавим «—remove» как показано в закомментированной строке, также если не настроен lopgrotate для удаления файлов, то раскомментируем команду начинающуюся на «find», которая будет удалять файлы логов старше 30 дней.
Для автоматического запуска, например ежедневно в час ночи, добавим сроку ниже в /etc/crontab:
1 1 * * * root /root/scripts/clamscan.sh > /dev/null 2>&1
Смотрите также мои статьи:
Установка и настройка Postfix
Использование и настройка CRON
Установка и использование ClamAV антивируса
Как запустить ClamAV сканирование из командной строки на cPanel сервере
Здравствуйте. Могу ли я исаользовать данный скрипт на PC?
Если да, то можно ли инструкцию поподробнее? Я в новичок в Линуксе, но оч хочу научиться. У меня OS Manjaro Gnome.