В общем, представляю г-код, я с ним долго парился, но в итоге он делает не так, как задумано, но в принципе, пойдёт:
#!/bin/bash
# Скрипт для запуска clamscan с ограничением на 10% использования CPU
# Указываем переменные окружения для графической среды
#export DISPLAY=:0
#export XAUTHORITY=/home/student/.Xauthority
# Открываем новое окно терминала для вывода логов
#sudo dbus-launch gnome-terminal -- bash -c "tail -f /home/student/Документы/limitcpuclam.txt"
# Открываем новое окно терминала для вывода логов
#gnome-terminal -- bash -c "tail -f /home/student/Документы/limitcpuclam.txt"
# Указываем путь к лог-файлу
LOG_FILE="/home/student/Документы/limitcpuclam.txt"
# Открываем новое окно терминала для вывода логов
DISPLAY=:0 gnome-terminal -- bash -c "tail -f $LOG_FILE"
# Запускаем clamscan с ограничением на 10% использования CPU
##sudo cpulimit -l 10 -- /usr/bin/clamscan -r /home/111 > "$LOG_FILE" 2>&1
sudo cpulimit -l 10 -- /usr/bin/clamscan -r /home/111 | tee "$LOG_FILE" 2>&1
# Выводим сообщение о запуске
echo "Запуск clamscan с ограничением на 10% CPU. Логи записываются в $LOG_FILE."
##export DISPLAY=:0
##export XAUTHORITY=/home/student/.Xauthority
# Отправляем уведомление о запуске clamscan
#notify-send "Запуск clamscan" "Запуск clamscan с ограничением на 10% CPU. Логи записываются в $LOG_FILE."
#export DISPLAY=:0
#export XAUTHORITY=/home/student/.Xauthority
#notify-send "Тест уведомления" "Это тестовое уведомление из cron."
DISPLAY=:0 zenity --info --text="ClamAV: сканирование в фоновом режиме с ограничением на 10% CPU завершено." --title="ClamAV" & disown
# Ждем завершения сканирования
wait
# Отправка отчета на почту
SUBJECT="Отчет о сканировании ClamAV"
RECIPIENT="google@mail.ru"
# Отправка письма с помощью msmtp
{
echo "Subject: $SUBJECT"
echo "To: $RECIPIENT"
echo "Content-Type: text/plain; charset=UTF-8"
echo ""
echo "Прикрепленный файл отчета о сканировании ClamAV."
echo ""
cat "$LOG_FILE"
} | msmtp "$RECIPIENT"
# Проверка успешности отправки
if [ $? -eq 0 ]; then
echo "Отчет успешно отправлен на $RECIPIENT."
else
echo "Ошибка при отправке отчета на $RECIPIENT."
fi
https://pastebin.com/0EkRc9anОтчёт приходит такого плана:
Отчет о сканировании ClamAV
google@mail.ru
Сегодня, 11:22
Кому:вам
Прикрепленный файл отчета о сканировании ClamAV.
----------- SCAN SUMMARY -----------
Known viruses: 8704632
Engine version: 0.103.12
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 85.229 sec (1 m 25 s)
Start Date: 2025:03:05 11:21:01
End Date: 2025:03:05 11:22:26
Process 7716 detected
Краткое описание г-кода: значит, через Кронтаб по расписанию запускается этот скрипт, в котором КламАВ запускается с ограничением проца в 10%. В процессе открывается окно терминала, в котором по окончании выводятся результаты сканирования. А в конце появляется ненужное окно, что сканирование завершено. Вот это окно я хотел приколхозить в начале сканирования, чтоб юзеры знали, что проц ограничен на 10%. Но получилось так
В принципе, наверное, ерунда, что там пусто, главное, что приходит. Хотелось бы узнать, какие подводные камни?
P. S. Дополнение.
Отчет о сканировании ClamAV
google@mail.ru
Сегодня, 11:16
Кому:вам
Прикрепленный файл отчета о сканировании ClamAV.
/home/student/111/eicar.com: Eicar-Signature FOUND
/home/student/111/fanotify_test.c: OK
----------- SCAN SUMMARY -----------
Known viruses: 8704634
Engine version: 0.103.12
Scanned directories: 1
Scanned files: 2
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 80.601 sec (1 m 20 s)
Start Date: 2025:03:06 11:15:02
End Date: 2025:03:06 11:16:22
Process 5227 detected
Сейчас всё ищет: была неправильно указана папка, которой нет. Надо было указать эту /home/student/111/