Probleme nach upgrade von Cyrus 2.2 auf 2.4
Auf einem Server hatten wir arge Probleme, da das automatische Upgrade
nicht geklappt hat und niemand mehr Zugriff auf seine Mailboxen hatte.
Alle Recover-Werkzeuge (z.B. ctl_cyrusdb
und
cyrreconstruct
oder ctl_mboxlist
) sind mit
einem Segmentation Fault abgestürzt.
Das Verzeichnis /var/lib/cyrus/db
wurde schon gelöscht.
Der Grund war wohl eine defekte mailboxes.db
-Datei.
Diese mußte also neu erstellt werden.
Zum Glück hat Cyrus für alle User die Namen der meisten Folder der IMAP-Konten gespeichert, so daß man mit dem folgenden Skript die Datei neu aufbauen kann.
#! /bin/sh cd /var/lib/cyrus/user find -name '*.sub' | while read path do user=$(basename $path .sub) # echo $user $path while read folder do printf "%s 0 default %s lrswipcda \n" "$folder" $user done < $path done | (cd /var/lib/cyrus; /usr/lib/cyrus/bin/ctl_mboxlist -u)
Anschließend blieb noch ein Problem, Cyrus hat dauernd die restlichen DB-Dateien neu erstellt, weil eine Pivot-Datei fehlt. Im Syslog taucht folgende Meldung auf:
DBERROR: reading /var/lib/cyrus/db/skipstamp, assuming the worst: No such file or directory
Hier ist die Lösung ganz einfach:
install -o cyrus -g mail -m 600 /dev/null /var/lib/cyrus/db/skipstamp