dovecot

Dovecot überwachen und automatisch neu starten. 1


Dovecot automatisch neu starten

DovecotAuch bei Linux kann es mal passieren, dass einzelne Prozesse, wie z.B. der Apache, Postfix oder Dovecot hängen bleiben oder einfach beendet werden.

Ein generelles Problem ist es auch, wenn die Systemzeit durch eine Abfrage z.B. per ntime zurückgestellt wird, dann wird der Mailserver mit folgender Fehlermeldung gnadenlos beendet.

Time just moved backwards by xx seconds. This might cause a lot of problems, so I’ll just kill myself now.

Nun gibt es tolle Tools wie die DaemonTools. Diese überwachen alle möglichen Prozesse und starten sie bei Bedarf neu. Allerdings ist die Einrichtung der DaemonTools nicht ganz einfach und bei einem Fehler geht nichts mehr.

Einfacher ist es, einfach regelmäßig nach zu schauen ob auf dem Port eines Prozesses gelauscht wird. Wenn der Prozess nicht lauscht, so wird dieser neu gestartet.

Einen Lösungsansatz liefert das Wiki gleich mit. Dieses kleines Script prüft, ob auf einem der Dovecot-Ports, der Prozess lauscht. Wenn nicht, dann wird Dovecot neu gestartet.

Ich habe das Originalscript etwas abgeändert damit es keine Probleme mit den Pfad zu lsof gibt:

/usr/local/sbin/dovecot_check_restart.sh

#!/bin/sh

HOST='localhost'
PORT=110
#PORT=143
#HP=@$HOST:$PORT
HP=:$PORT
echo 'Checking to see if Dovecot is up...'
if ( lsof -Pni $HP | grep "$PORT (LISTEN)" 2>&1 >/dev/null ); then
echo 'Dovecot is up';
else
echo 'Dovecot is down, restarting...';
/etc/init.d/dovecot restart
logger -p mail.info dovecot_check_restart.sh restarting Dovecot
fi

Das Script muss nun noch regelmässig aufgerufen werden, das machen wir auch gleich über den Crontab

# Dovecot Check
* * * * * /usr/local/sbin/dovecot_check_restart.sh 2>&1 > /dev/null

Aller einer Minute prüft das Script ob auf dem Port 143 ein Prozess lauscht. So ist gewährleistet, dass Dovecot nur kurzzeitig ausfällt. Aber man sollte aber trotzdem regelmäßig die Logs prüfen und bei auffällig vielen Neustarts die Ursache für den Absturz beseitigen!

Übrigens, wie man Postfix automatisch neu startet erfahren Sie in diesem Beitrag.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ein Gedanke zu “Dovecot überwachen und automatisch neu starten.