Cyrreconstruct setzt timestamps aller mails zurück

mail
open-xchange

#1

Hallo in die Runde,

die Mailbox eines Benutzers musste aus dem Backup wiederhergestellt werden (mir rsync). In einem ersten Versuch habe ich alle Dateien zurückgesichert. Danach einen Reconstruct gestartet:

cyrus: /usr/sbin/cyrreconstruct -C /etc/imapd/imapd.conf -rf  user/benutzerxyz@some.domain.de

Der ist (erfolgreich?) durchgelaufen. Plötzlich hatten aber alle Mails des Benutzers das Datum des reconstruct.
Darauf hin habe ich noch einmal von vorne begonnen und lediglich die Mails, nicht aber die cyrus.* Dateien wieder hergestellt. Leider mit dem selben Ergebnis: Alle Mails haben das selbe Datum und die selbe Uhrzeit. Auch die Überprüfung auf Dateisystemebene:
Vor dem Reconstruct werden die ursprünglichen Zeitstempel angezeigt. Nach dem Reconstruct: alle Zeitstempel identisch.

Hat jemand dazu eine Idee? Bisher hatten wir mit diesem Verfahren bereits problemlos Mails wiederhergestellt.

Server ist UCS 4.1 mit cyrus 2.4.16

lG
Sebastian


#2

Ich habe dazu auch nach längerer Recherche nur Hinweise aus dem Apple Umfeld dazu gefunden - das wird hier vermutlich nicht zutreffen. Ist denn das auf einen Benutzer beschränkt oder würde das nun bei jedem auftreten? Gab es im Vorfeld ein Cyrus Update das das Verhalten ausgelöst haben könnte?

Wenn alle Stricke reißen, ggf. hier noch einmal schauen? https://lists.andrew.cmu.edu/mailman/listinfo/cyrus-devel


#3

Hallo,

tatsächlich war “nur” ein User betroffen. Dessen primäre Mailadresse wurde im Vorfeld umbenannt. Das listener modul hat allerdings - vermutlich aufgrund der großen Mailbox, sehr lange gebbraucht, um das Umbenennen (kopieren?) durchzuführen. Daher der Versuch des reconstruct.

Inzwischen wurde der Fall aber, mit sehr viel handarbeit, erledigt.


#4

Für alle die hier landen und einen reconstruct auf einem Univention Cyrus Mailserver durchführen wollen, hier die Syntax wie Sie bei uns auf einem System 4.2X gelaufen ist. Das Programm cyrreconstruct heißt jetzt reconstruct und liegt auch nicht mehr in “usr/sbin”. Früher haben wir das Programm auch immer unter dem User “cyrus” laufen lassen. Ich weiß nicht, ob das noch notwendig ist. So läuft es bei uns erfolgreich:

su cyrus -s /bin/sh -c '/usr/lib/cyrus/bin/reconstruct -C /etc/imapd/imapd.conf -rf "shared/username@domain.de"'

Will man die Mailbox eines Users reparieren, dann natürlich das “shared” mit “user” ersetzen