Sendmail-Mqueue-Client kann nicht gelöscht werden

Sendmail-Mqueue-Client kann nicht gelöscht werden
drwxr-xr-x  2 smmsp smmsp  4.0K May  6 23:31 mqueue
drwxrws---  2 smmsp smmsp  29M May  8 10:40 mqueue-client

Wie Sie sehen, mqueue-clientsind 29 Megabyte nicht gesendeter E-Mails darin enthalten. Dies scheint wahrscheinlich auf eine interne Funktion zurückzuführen zu sein, die Mails an den lokalen Host sendet und dabei fehlschlägt.

Ich habe zahlreiche Versuche unternommen, die Warteschlange zu leeren, aber keiner hatte Erfolg. Das Ergebnis ist ein Prozess, der erhebliche CPU-Ressourcen verbraucht:

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

Ich habe versucht, den Prozess zu beenden, den Sendmail-Dienst anzuhalten, den Inhalt des Mqueue-Clients zu löschen und sogar zum SMMSP-Benutzer zu wechseln. Aber nichts davon hat funktioniert. rmBeim Versuch, die E-Mail zu entfernen, bleibt es hängen.

Wie kann ich diese Warteschlange leeren?

Sobald ich das getan habe, werde ich alles zu Postfix verschieben.

Antwort1

Wie von Janne in den Kommentaren vorgeschlagen, habe ich meine durchgesehen syslogund festgestellt, dass beim Senden vieler E-Mails Fehler aufgetreten sind, die dazu geführt haben, dass sie zurückgestellt wurden und sich somit im Ordner gestapelt haben mqueue-client.

Nach einigen Nachforschungen stellt sich herauscrontabist so eingestellt, dass bei Abschluss/Hinweisen/Warnungen/Fehlern E-Mails an den Root gesendet werden. Durch das Ausgeben crontab -eund Hinzufügen MAILTO=""oben in der Konfiguration werden keine weiteren E-Mails mehr versendet, Problem behoben!

Jetzt lösche ich die rund 1,5 Millionen fehlerhaften E-Mails mithilfe mqueue-clientdieses Bash-Skripts:

#!/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

Ausführen von /var/spool mit./filename

Aktualisieren

Leider wurde die Mail-Warteschlange nach dem Ausführen dieses Skripts die ganze Nacht über nicht wesentlich reduziert. Das lag daran, dass ich die CRON-Ausführung nicht deaktiviert hatte, die eigentlich die Warteschlange leeren sollte, aber den Rückstand vergrößerte. Hoffentlich sollte jetzt, da dies deaktiviert ist, alles gelöscht werden.

verwandte Informationen