Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Aus dem Alltag eines Sysadmin: Imapsync

Umzugshelfer

Charly Kühnast

Ächzt der alte Mailserver in der Firma unter der Last erwünschter Mail und dem eingehenden Spam, muss ein neuer her. Wenn sich der Admin das Wohlwollen seiner Benutzer erhalten möchte, sollten die Inhalte aller IMAP-Postfächer mit umziehen.

Inhalt
70Oracle-Suche
Weithin unbekannt ist, dass Oracle ein Funktions-Set besitzt, um in Textarchiven eine Volltextsuche zu veranstalten.
78AWK, der Klassiker
Tabellarisch aufgebaute Textfiles sind mit dem Sprachen-Klassiker bequem zu durchsuchen und zu verarbeiten.
82UMTS auf Notebooks
Besitzer einer entsprechend unserer Anleitung konfigurierten UMTS-PC-Card surfen mit hoher Geschwindigkeit.
86Admin-Workshop
Daemons sind die dienstbaren Geister jedes Unix-Systems. Wer welchen Dienst verrichtet, klärt der Workshop.

Perfekt wäre es, wenn die User nichts von den Umzugsarbeiten mitbekämen. In der Praxis passiert oft das Gegenteil, etwa dass die Migrationsroutinen die Gelesen/Ungelesen-Flags zurücksetzen. Der Benutzer steht vor einer Inbox, in der alle Mails als neu markiert sind. Imapsync [1] verspricht Abhilfe. Das Perl-Skript synchronisiert, nomen est omen, IMAP-Konten zwischen verschiedenen Servern. Das zu tun ist normalerweise zwar überflüssig, steht aber eine Migration an, braucht man einen zuverlässigen Replikationsmechanismus.

Die Praxis

Ich habe einen altersschwachen Mailserver mit der IP-Adresse 10.0.0.5 und ein neues Gerät mit 10.0.0.10. Mein Username auf der alten Maschine sei »charly«, auf der neuen »ckuehnast«. Um meine Mails auf den neuen Server zu migrieren, rufe ich

imapsync --dry --host1 10.0.0.5 --user1 charly --password1 0r1and0 -- host2 10.0.0.10 --user2 ckuehnast --password2 10nd0n

auf. Der Parameter »--dry« bewirkt, dass Imapsync die Migration erst mal nur simuliert. Das Tool führt im Prinzip alle Arbeitsschritte aus, verkneift sich aber Schreibzugriffe. Wenn ich mit dem simulierten Lauf zufrieden bin, kann ich »--dry« weglassen.

Zweifelhaft sicher

Meine beiden Passwörter »0r1and0« und »10nd0n« Imapsync als Parameter mitzugeben, birgt ein Sicherheitsrisiko: Ein auf dem Rechner angemeldeter Benutzer kann diese Passwörter per »ps auxwww« aus der Prozessliste ersehen. Besser ist es, wenn ich jedes Passwort in eine Datei schreibe, deren Rechte restriktiv gesetzt sind (»chmod 400 Dateiname«). Der Aufruf sieht dann so aus:

imapsync --dry --host1 10.0.0.5 --user1 charly --passfile1 /etc/charly-pass --host2 10.0.0.10 --user2 ckuehnast --passfile2 /etc/ckuehnast-pass

Bei der Anmeldung am Zielserver geht das Passwort dennoch im Klartext über die Leitung - IMAP via SSL unterstützt Imapsync leider nicht. Gegen einen Sniffer hat man also schlechte Karten.

Schlaues Kerlchen

Imapsync transferiert nicht stur das gesamte IMAP-Konto, sondern schaut auf dem Zielserver nach, ob dort bereits Post lagert. Wenn ja, überträgt es nur die Differenz zum aktuellen Stand. Außerdem macht es Imapsync nichts aus, in seiner Arbeit unterbrochen zu werden. Beim neuerlichen Starten rackert es dort weiter, wo es aufgehört hat.

Wenn ich die Mails auf dem alten Server nicht mehr benötige, gebe ich Imapsync »--delete« mit. Mails, die richtig auf dem Zielserver gelandet sind, werden dann auf dem Quellserver gelöscht.

Übrigens gibt es vom selben Autor ein kleines Werkzeug namens Pop2imap[2]. Es migriert - wenig überraschend - POP-3-Konten zu IMAP. Wer die Dienste von Imapsync in Anspruch genommen hat, wird mit der Bedienung des anderen Umzugshelfers keine Schwierigkeiten haben. (jk)

Infos

[1] Imapsync: [http://www.linux-france.org/prj/imapsync/]

[2] Pop2imap: [http://www.linux-france.org/prj/pop2imap/]

Der Autor

Charly Kühnast administriert Unix-Betriebssysteme im Rechenzentrum Niederrhein in Moers. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ (demilitarisierte Zone). In seiner Freizeit lernt er Japanisch, um endlich die Bedienungsanleitung seiner Mikrowelle lesen zu können.