
drwxr-xr-x 2 smmsp smmsp 4.0K May 6 23:31 mqueue
drwxrws--- 2 smmsp smmsp 29M May 8 10:40 mqueue-client
Como você pode ver, mqueue-client
ele contém 29 megabytes de mensagens não enviadas. Isso parece ser provável devido a uma função interna que envia mensagens para o host local que está falhando.
Tentei inúmeras tentativas de limpar a fila, mas nenhuma obteve sucesso. O resultado é um processo que consome recursos significativos da CPU:
16287 smmsp 20 0 50212 44m 2416 R 85 4.4 965:35.45 sendmail-msp
Já tentei encerrar o processo, parar o serviço sendmail, deletar o conteúdo do mqueue-client e até mudar para o usuário smmsp. Mas nenhum funcionou. rm
trava ao tentar remover o e-mail.
Como posso esvaziar essa fila?
Depois de fazer isso, moverei tudo para o Postfix.
Responder1
Conforme sugerido por Janne nos comentários, examinei meus syslog
e descobri que muitos e-mails não enviavam erros, o que fazia com que fossem adiados e, portanto, acumulados na mqueue-client
pasta.
Depois de fazer algumas escavações, descobriu-secrontabestá definido para mail root na conclusão/avisos/avisos/erros. Ao emitir crontab -e
e adicionar MAILTO=""
ao topo da configuração, nenhum email será enviado, problema resolvido!
Agora estou limpando cerca de 1,5 milhão de e-mails ruins mqueue-client
usando este script 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
Execute a partir de /var/spool usando./filename
Atualizar
Infelizmente, depois de executar esse script a noite toda, a fila de e-mails não foi reduzida significativamente. Isso ocorreu porque eu não tinha desabilitado o minuto de execução do CRON que estava configurado para limpar a fila, mas estava resultando no crescimento do backlog. Esperançosamente, agora que isso está desativado, tudo deve ficar claro.