В логах exim посыпались Message is frozen

Как то в борьбе со спамом обнаружил в логах exim'а много процессов Message is frozen (мертвые письма). По сути Message is frozen - это, не отправленные письма которые остались лежать на сервере, так сказать мертвые письма.

И так начну бороться с этой гадостью, попутно буду описывать процесс. Надеюсь порву эту заразу.

И так посмотреть список frozen можно следующей командой

exim -bp | grep frozen

Получаем список uid мертвых писем. Все это дело можно очистить командой

exipick -zi | xargs exim -Mrm

Но меня этот вариант не устраивает. Ошибка есть, надо копать, откуда ноги растут и исправлять. Читаем заголовок одного из писем

exim -Mvh uid

где, uid - один из процессов (1UjtoC-0003ZD-CR)

Заголовки нам толком ничего не сказали, смотрим тело письма

exim -Mvb uid

где, uid - один из процессов (1UjtoC-0003ZD-CR)

а вот и сообщение об ошибке:
Error: SiteDomain parameter not defined in your config/domain file. You must edit it for using this version of AWStats.
Setup ('/etc/awstats/awstats.conf' file, web server or permissions) may be wrong.

Понятное дело косячат конфиги awstats'a и ругается на права доступа. Сразу разбираться с ними не стал, все же не системный администратор. Решил просто в ISPmanager удалить Анализатор логов веб-сервера awstats. Удалил, подождал, проверил мертвые письма. Новых нет! Славненько, ставим awstats по новой.

Ждем некоторое время и снова проверяем frozen mails.

exim -bp | grep frozen

Опа, мертвецы снова посыпались. Проверим тело последнего.

exim -Mvb 1UjukE-00055q-6T

и видим новую ошибку:
/usr/share/awstats/tools/update.sh: 22: cd: can't cd to /etc/awstats

Скрипт говорит что не может попасть в папку /etc/awstats. по пути каталог существует, тогда проверим права доступа, ага вот тут и собака порылась. Изменяем права с 750 на 755. Ждем когда снова сработает скрипт и проверим мертвые письма. Снова появились и с ошибкой прав доступа. И так начинаем копать кроны в чем же дело.

Если внимательно посмотреть в заголовки тела письмо можно обнаружить, что скрипт /usr/share/awstats/tools/update.sh запускается от имен www-data, ага, а папка у нас root. ХМ.

И так, спустя 20 минут рысканья в интернете, замечательный саппорт ISPmanager заострил внимание, что панель управления использует свою ротацию логов и /etc/cron.d/awstat в надобности отпадает. Удаляем его из планировщика и ждем некоторое время. Проверяем мертвые письма и радуемся!

Славненько, славненько, я доволен собой. Логика еще жива )))

Ну и напоследок, что бы просмотреть полный список, вводим команду

exim -bp

для полной очистки замороженных писем вводим команду

exiqgrep -o 0 -i | xargs exim4 -Mrm

Все удачи!

 

  • А какой у вас хостинг, не firstvds ли? Мне крайне не понятен момент почему у них сервисные операции с сервером запускаются через скрипты isp менеджера. Я например отказался от их панельки. Но скрипты запускаются по-прежнему через него.
  • job
    Нет, у меня ihc.ru, на kvm виртуализации.
  • а все намного проще. Почту рута завернуть себе на мыло, и из крон.d удалить скрипт awstats. У ISPmanagera свой крон вот инфа тут http://www.all-solutions.ru/ispmanager/ispmanager-awstats-cant-cd-to-etcawstats.html