Linux: Dovecot Server beendet sich von selbst automatisch ("dovecot: Fatal: Time just moved backwards by x seconds.")

In den Mail-Logs finden Sie folgende Meldung:

dovecot: Fatal: Time just moved backwards by x seconds. This might cause a lot of problems, so I'll just kill myself now.
Dann beendet sich Ihr Dovecot-Mailserver und Sie können sich nicht mehr mit Ihrem Postfach verbinden. Grund ist eine Zeitkorrektur auf Ihrem Server (Rechner), welche "in die Vergangenheit" geht. D.h. die Zeit wird zurückgestellt - ob um wenige Sekunden oder mehr ist irrelavant: Der Dovecot Server bemerkt diese Umstellung und beendet sich selbst automatisch. Lösung / Behebung des Problems Sie können den Dovecot Server regelmäßig prüfen lassen. Sollte dabei bemerkt werden, dass der DoveCot Mailserver nicht mehr läuft, wird er automatisch wieder gestartet:
nano /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 ( /usr/sbin/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
Hinweis zu aktuelleren Linux-Versionen Es sollte der Pfad zur "lsof" überprüft werden, denn dieser kann unterschiedlich sein. Dann sollte die Zeile 9 oben entsprechend angepasst werden:
if ( /usr/sbin/lsof -Pni $HP | grep "$PORT (LISTEN)" 2>&1 >/dev/null ); then
Hinweis bei SSL Verbindungen zum Mailserver Setzen Sie den richtigen Port in Zeile 5:
PORT=993
Dann den Aufruf des o.a. Scriptes erlauben ("chmod +x") und das Script als CronJob einrichten:
chmod +x /usr/local/sbin/dovecot_check_restart.sh
crontab -e
Und dort folgende Zeile anfügen:
* * * * * /usr/local/sbin/dovecot_check_restart.sh 2>&1 > /dev/null
Fertig. Mehr Informationen finden Sie auch unter http://wiki.dovecot.org/TimeMovedBackwards