Relocating the CyrusIMAPd

Ab und an ist es nötig, alte Hardware gegen Leistungsfähigere auszutauschen. Nur – wie bringt man die Mailboxen in ihre neue Heimat?

Sehen wir uns einmal das Szenario an:
Der CyrusIMAPd hat einen eigenen Mail-Storage und authentifiziert mit dem saslauthd, welcher via PAM in den MySQL greift. – Ein solches System aufzusetzen sollte kein grosses Problem darstellen, da es ja genug Howto-Material gibt.


Der erste Schritt zum Übersiedeln des Servers ist das Kopieren der MySQL Tabellen mit den Benutzerdaten. Dies sollte keiner grossen Erklärung bedürfen und auch zügig erledigt sein.

Der nächste Schritt ist der Export einer Liste der Mailboxen, um sie auf dem neuen Server anlegen zu können. Dies geschieht mit dem Befehl ctl_mboxlist. Wir schreiben die Ausgabe in eine Datei und kopieren sie auf den neuen Server um sie dort durch ctl_mboxlist zu importieren. Mit reconstruct werden die Mailboxen noch rekonstruiert und sind nun für den Import der alten Mails bereit.

Um nun die alten Mails zu übernehmen gibt es einen netten Trick, um nicht alle Passwörter der Benutzer kennen zu müssen. In /etc/imapd.conf legen wir proxy_authname und proxy_password fest. Dies ist eine Möglichkeit, mit welcher wir die Anmeldung am Mailstore umgehen können. Ist dies getan, greifen wir auf imapsync zurück:

[*] net-mail/imapsync
Available versions: 1.121 (~)1.182
Installed versions: 1.182(19:47:59 01/11/07)
Homepage: https://web.archive.org/web/20190408144712/http://www.linux-france.org:80/prj/
Description: A tool allowing incremental and recursive imap transfer from one mailbox to another.

Der Rest ist dann nur noch eine Sache, die Geduld erfordert und eventuell eine Schleife, welche imapsync die einzelnen Benutzerkonten mitgibt.

imapsync –delete2 –expunge –syncinternaldates –subscribe –syncacls \
–host2 10.7.1.2 –authmech2 PLAIN –ssl2 –authuser2 $proxy_authname –password2 $proxy_password –user2 $mailbox –prefix2 INBOX\
–host1 10.7.1.1 –authmech1 PLAIN –ssl1 –authuser1 $proxy_authname –password1 proxy_password –user1 $mailbox –prefix1 INBOX

Author:

Schreibe einen Kommentar

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