Невозможно очистить sendmail mqueue-client

Невозможно очистить sendmail mqueue-client
drwxr-xr-x  2 smmsp smmsp  4.0K May  6 23:31 mqueue
drwxrws---  2 smmsp smmsp  29M May  8 10:40 mqueue-client

Как вы видите, mqueue-clientзаполнено 29 мегабайтами неотправленной почты. Похоже, это происходит из-за внутренней функции отправки почты на localhost, которая дает сбой.

Я пробовал многочисленные попытки очистить очередь, но ни одна из них не увенчалась успехом. Результатом является процесс, использующий значительные ресурсы ЦП:

16287 smmsp     20   0 50212  44m 2416 R   85  4.4 965:35.45 sendmail-msp

Я пробовал убивать процесс, останавливать службу sendmail, удалять содержимое mqueue-client и даже переключаться на пользователя smmsp. Но ничего не помогло. rmзависает при попытке удалить почту.

Как мне очистить эту очередь?

Как только я это сделаю, я перенесу все в Postfix.

решение1

Как предположил Янне в комментариях, я просмотрел свои syslogписьма и обнаружил много ошибок, связанных с невозможностью отправки, из-за чего они задерживались и скапливались в mqueue-clientпапке.

После некоторых раскопок выяснилось,кронтабнастроен на почтовый корень при завершении/уведомлениях/предупреждениях/ошибках. Выпуск crontab -eи добавление MAILTO=""в начало конфигурации, больше не отправляется почта, проблема устранена!

Теперь я удаляю около 1,5 миллиона плохих писем с mqueue-clientпомощью этого скрипта Bash:

#!/usr/bin/env bash

cd mqueue-client

deleted=0

for i in `ls`
do
        rm -f $i
        percentage=$(bc <<< "scale=2; ($deleted / 1035435) * 100")
        ((deleted++))

        echo "Deleted $i. Files deleted $deleted. $percentage% complete."
done

Запустить из /var/spool с помощью./filename

Обновлять

К сожалению, после запуска этого скрипта всю ночь очередь почты не уменьшилась значительно. Это произошло потому, что я не отключил минутный запуск CRON, который был настроен на очистку очереди, но приводил к росту отставания. Надеюсь, теперь, когда он отключен, все должно очиститься.

Связанный контент