Hallo Liste Nach vielem Suchen habe ich ja einen Weg gefunden, um Emails im mbox-format nach cyrus imap zu importieren. Aber der Weg ist erstens recht umwegig und zweitens imens zeitintensiv. Hier mein bisheriger Weg. 1) mbox in kmail einbinden. 2) Alle Mails markieren und per drag`n drop in den IMAP-Orner schieben. Aber: zu 1) 400.000 Mails als mbox öffnnen (1,1GB) scheint sehr CPU-lastig zu sein. Der Prozess läuft nun schon seid 145 minuten und ich bin erst bei 164.000 Mails. Ist das normal. Es ist ein Pentium mit 1,7 GHz. zu 2) Da bin ich ja noch gar nicht angekommen. Aber ich habe es schon mal mit einer kleineren mbox versucht und auch dies war imens zeitraubend. Obwohl ich über 100MBit zum IMAP-Server gehe. Nun meine eigentliche frage. Gibt es nicht eine einfache möglichkeit, die mbox auf dem Server mit einem Shell-Befehl in den Cyrus einzupflegen? Etwas wirklich hilfreiches habe ich im Netz bisher leider noch nicht gefunden. Meine Vorstellung währe es ja, das ganze mit einem "Einzeiler" zu realisieren. Vielen Dank schon mal für Eure Bemühungen. Ingo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ingo Tschutter wrote:
Hallo Liste
Nach vielem Suchen habe ich ja einen Weg gefunden, um Emails im mbox-format nach cyrus imap zu importieren. Aber der Weg ist erstens recht umwegig und zweitens imens zeitintensiv. Hier mein bisheriger Weg. 1) mbox in kmail einbinden. 2) Alle Mails markieren und per drag`n drop in den IMAP-Orner schieben.
Aber:
zu 1) 400.000 Mails als mbox öffnnen (1,1GB) scheint sehr CPU-lastig zu sein. Der Prozess läuft nun schon seid 145 minuten und ich bin erst bei 164.000 Mails. Ist das normal. Es ist ein Pentium mit 1,7 GHz.
Genau gesagt, ist es sowohl I/O-intensiv als auch CPU-lastig. Schließlich werden viele hunderttausend kleine Dateien angelegt und diese dann auch noch in den Index aufgenommen, den Cyrus pflegt.
zu 2) Da bin ich ja noch gar nicht angekommen. Aber ich habe es schon mal mit einer kleineren mbox versucht und auch dies war imens zeitraubend. Obwohl ich über 100MBit zum IMAP-Server gehe.
Nun meine eigentliche frage. Gibt es nicht eine einfache möglichkeit, die mbox auf dem Server mit einem Shell-Befehl in den Cyrus einzupflegen?
Nein, leider nicht. Irgendwo muss leider der Umstieg von der monolithen mbox zum Cyrus-Storage mit einzelnen Mails erfolgen. Da Cyrus auch noch pro Ordner Datenbanken anlegt, muss die Einlieferung über Cyrus erfolgen.
Etwas wirklich hilfreiches habe ich im Netz bisher leider noch nicht gefunden. Meine Vorstellung währe es ja, das ganze mit einem "Einzeiler" zu realisieren.
Ein Einzeiler kann die Mailbox zu Postfix schicken, der wiederum sich um die Einsortierung in Cyrus kümmert. formail -Y -s /usr/sbin/sendmail recipient@example.com < /path/to/mbox Wenn du anstelle von sendmail jetzt noch mini_sendmail verwendest, kannst du noch etwas herausholen, da /usr/sbin/sendmail zweimail die Datei bewegen muss, während mini_sendmail diese nur einmal anfasst. Postfix sollte so konfiguriert sein, dass die Mails per lmtp übergeben werden und natürlich auch nicht mehr durch einen content_filter gehen. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
formail -Y -s /usr/sbin/sendmail recipient@example.com < /path/to/mbox
Das tool formail gefällt mir. :) - Kannte ich bisher nicht. Gruss, Oliver Block -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Oliver Block wrote:
Sandy Drobic schrieb:
formail -Y -s /usr/sbin/sendmail recipient@example.com < /path/to/mbox
Das tool formail gefällt mir. :) - Kannte ich bisher nicht.
Macht Spass, die eleganten kleinen Tools zu entdecken, nicht wahr? Das finde ich die eigentliche Herausforderung unter Linux: die elegante Lösung zu finden. Gut ist, dass es immer auch andere Lösungen gibt, wenn man gerade keine Zeit hat, nach der eleganten Methode zu suchen. (^-^) -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ingo Tschutter schrieb:
Nun meine eigentliche frage. Gibt es nicht eine einfache möglichkeit, die mbox auf dem Server mit einem Shell-Befehl in den Cyrus einzupflegen? Etwas wirklich hilfreiches habe ich im Netz bisher leider noch nicht gefunden.
Ich würde annehmen, dass cyrus mbox dateien lesen kann. Wenn man nun die Dateien in einem MUA in einen Ordner kopiert, der im "cyrus format" ist, dann sollte die Aufgabe erledigt sein.
Meine Vorstellung währe es ja, das ganze mit einem "Einzeiler" zu realisieren.
Danke für den Einblick.;-) Gruss, Oliver -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Oliver Block schrieb:
Ich würde annehmen, dass cyrus mbox dateien lesen kann. Wenn man nun die Dateien in einem MUA in einen Ordner kopiert, der im "cyrus format" ist, dann sollte die Aufgabe erledigt sein.
Nun, der Aufwand währe der Doppelte. Erst mal die mbox in dem MUA öffnen. Allein das dauert bei ca. 400.000 mails über den Daumen ca. 7-8 Stunden. Siehe meinen ersten Post.. ---snip---
zu 1) 400.000 Mails als mbox öffnnen (1,1GB) scheint sehr CPU-lastig > zu sein. Der Prozess läuft nun schon seid 145 minuten und ich bin erst bei 164.000 Mails. ---snip---
Und dann wurden sie im MUA auch noch nicht zur Anzeige gebracht. Wenn man dann bis zur Anzeige käme, müsste man weitermachen mit drag`n-drop auf den IMAP-Folder. Ab da würde wieder die ganze Zeit anfallen, bis alle mails übertragen und einsortiert sind. Ich favorisiere den Vorschlag von Sandy (vielen Dank dafür noch mal an Dich, Sandy !!!). Die Load auf dem Server hällt sich zwar die ganze Zeit bei ca 5 auf, aber die Arbeit verbleibt bei nur einem Rechner. Berichtige mich bitte, wenn ich falsch liege. Aber bei deinem Vorschlag liesst nicht Cyrus die mbox, sondern der MUA, welcher dann denn Cyrus bedient. Ingo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Ingo! On Wed, 06 Feb 2008, Ingo Tschutter wrote:
Nun, der Aufwand währe der Doppelte. Erst mal die mbox in dem MUA öffnen. Allein das dauert bei ca. 400.000 mails über den Daumen ca. 7-8 Stunden. Siehe meinen ersten Post..
Was sind denn das für riesige Mails? Ich hab hier eine knapp 100.000 Mail große gezippte mbox-Datei, da dauert das öffnen mit mutt inklusive entpacken eine gefühlte Minute. Also vielleicht mal einen anderen MUA probieren. Mit mutt könnte man auch was scripten, der dir die mbox Datei einliest und jede Mail auf den IMAP Server schiebt, falls Dir die Lösung mit formail nicht zusagt. Mit freundlichen Grüßen Christian -- hundred-and-one symptoms of being an internet addict: 54. You start tilting your head sideways to smile. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christian Brabandt schrieb:
Hi Ingo!
On Wed, 06 Feb 2008, Ingo Tschutter wrote:
Nun, der Aufwand währe der Doppelte. Erst mal die mbox in dem MUA öffnen. Allein das dauert bei ca. 400.000 mails über den Daumen ca. 7-8 Stunden. Siehe meinen ersten Post..
Was sind denn das für riesige Mails? Ich hab hier eine knapp 100.000 Mail große gezippte mbox-Datei, da dauert das öffnen mit mutt inklusive entpacken eine gefühlte Minute.
Also vielleicht mal einen anderen MUA probieren. Mit mutt könnte man auch was scripten, der dir die mbox Datei einliest und jede Mail auf den IMAP Server schiebt, falls Dir die Lösung mit formail nicht zusagt.
Alternativ: google fragen mbox2cyrus oder so. Es gibt schon fertige Converterscripte...mich jetzt nicht fragen, wo genau. Ich hab von Anfang an Cyrus-Imap (Maildir) Diese Frage tritt nämlich periodisch immer wieder auf :-) Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert wrote:
Christian Brabandt schrieb:
Hi Ingo!
On Wed, 06 Feb 2008, Ingo Tschutter wrote:
Nun, der Aufwand währe der Doppelte. Erst mal die mbox in dem MUA öffnen. Allein das dauert bei ca. 400.000 mails über den Daumen ca. 7-8 Stunden. Siehe meinen ersten Post..
Was sind denn das für riesige Mails? Ich hab hier eine knapp 100.000 Mail große gezippte mbox-Datei, da dauert das öffnen mit mutt inklusive entpacken eine gefühlte Minute.
Also vielleicht mal einen anderen MUA probieren. Mit mutt könnte man auch was scripten, der dir die mbox Datei einliest und jede Mail auf den IMAP Server schiebt, falls Dir die Lösung mit formail nicht zusagt.
Alternativ: google fragen mbox2cyrus oder so. Es gibt schon fertige Converterscripte...mich jetzt nicht fragen, wo genau. Ich hab von Anfang an Cyrus-Imap (Maildir)
Diese Frage tritt nämlich periodisch immer wieder auf :-)
Wegen der Struktur, wie Cyrus die Mails ablegt, gibt es leider kein wirklich zufriedenstellendes Script. Entweder man geht wie bei meinem Vorschlag über Postfix, der die Mails an Cyrus weitergibt, dann hat man keinen Ärger mit Cyrus, oder man benutzt ein Script wie mbox2cyrus.pl, aber dann muss man manuell nacharbeiten: http://download.clarkconnect.com/community/4.0/other/mbox2cyrus.pl Dieses Script macht nicht mehr, als die mbox in einzelne Mails zu zerlegen und ihnen hochzählende Namen zu geben, wie Cyrus sie verwendet. Was hier jedoch fehlt, ist das Anlegen der Datenbanken und das Neuindizieren der Mailbox. Mit diesem Script wäre das Vorgehen also: (Account muss bereits existieren) 1. Anlegen der Cyrus-Datenbank für Ordner: # Anlegen eines leeren Ordners im Mailclient 2. Aufteilen der mbox in Cyrus-konforme Einzeldateien: # Entpacken der mbox über mbox2cyrus.pl in diesen Ordner 3. Neuanlegen der Indizes, damit die Mail sichtbar werden: # Einloggen in cyradm und "reconstruct mailbox" laufen lassen -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ingo Tschutter schrieb:
Berichtige mich bitte, wenn ich falsch liege. Aber bei deinem Vorschlag liesst nicht Cyrus die mbox, sondern der MUA, welcher dann denn Cyrus bedient.
Du liegst falsch. Ich gehe bei meinem Gedanken davon aus, dass Cyrus auf mbox zugreifen kann. Wenn das möglich ist, greift der imapd darauf zu. Als Alternative zum Kopieren mittles MUA kannst Du auch ein PHP Skript schreiben, daß alle Nachrichten kopiert. Vielleicht ist sogar das Admintool von Cyrus in der Lage dazu. Ich habe bisher allerdings nur wenig mit Cyrus gearbeitet. Nochmal, die Grundannahme ist, dass Cyrus in der Lage ist, auf Mailboxen in zwei Formaten gleichzeitig zuzugreifen. Sollte das aber nicht so sein, kannst du die mbox mittels Skript auslesen und die Datei ggf. per php-Skript auf den Server kopieren. Vereinfacht: imap_open(), imap_append(), imap_close() Das mbox-Format trennt die Nachrichten durch eine 'From '-Zeile. Eine Beschreibung findest Du z.B. auf der Seite von Thunderbird. Gruß, Oliver -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Oliver Block wrote:
Ingo Tschutter schrieb:
Berichtige mich bitte, wenn ich falsch liege. Aber bei deinem Vorschlag liesst nicht Cyrus die mbox, sondern der MUA, welcher dann denn Cyrus bedient.
Du liegst falsch. Ich gehe bei meinem Gedanken davon aus, dass Cyrus auf mbox zugreifen kann. Wenn das möglich ist, greift der imapd darauf zu.
Wie bereits gesagt, Cyrus kann mit mbox nichts anfangen. Siehe mein Posting heute im Thread zu Einzelheiten. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Oliver Block wrote:
Ingo Tschutter schrieb:
Berichtige mich bitte, wenn ich falsch liege. Aber bei deinem Vorschlag liesst nicht Cyrus die mbox, sondern der MUA, welcher dann denn Cyrus bedient.
Du liegst falsch. Ich gehe bei meinem Gedanken davon aus, dass Cyrus auf mbox zugreifen kann. Wenn das möglich ist, greift der imapd darauf zu.
Wie bereits gesagt, Cyrus kann mit mbox nichts anfangen. Siehe mein Posting heute im Thread zu Einzelheiten.
Dann bleibt der Weg über PHP oder der im folgenden Dokument beschriebene: http://www.oreilly.com/catalog/mimap/chapter/ch09.html Suche im Browser nach der Überschrift "User-Driven Conversion". Dort wird ein Script User2Cyrus vorgestellt. Ich habe die Sache nur kurz überflogen, aber dass könnte weiterhelfen. Gruss, Oliver Block -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Oliver Block wrote:
Ingo Tschutter schrieb:
Nun meine eigentliche frage. Gibt es nicht eine einfache möglichkeit, die mbox auf dem Server mit einem Shell-Befehl in den Cyrus einzupflegen? Etwas wirklich hilfreiches habe ich im Netz bisher leider noch nicht gefunden.
Ich würde annehmen, dass cyrus mbox dateien lesen kann. Wenn man nun die Dateien in einem MUA in einen Ordner kopiert, der im "cyrus format" ist, dann sollte die Aufgabe erledigt sein.
Die Annahme ist leider falsch. Cyrus kann nur mit Cyrus etwas anfangen. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Vielen Dank für all eure Bemühungen. Ich werde nun das Script mbox2cyrus.pl versuchen. Mal schauen, was dort unter`m Strich rauskommt. Ich werde dann noch mal berichten, ob es klappte, oder auch nicht. Ingo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ingo Tschutter wrote:
Vielen Dank für all eure Bemühungen. Ich werde nun das Script mbox2cyrus.pl versuchen. Mal schauen, was dort unter`m Strich rauskommt. Ich werde dann noch mal berichten, ob es klappte, oder auch nicht.
Hat alles geklappt? -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sa, 9.02.2008, 11:40, schrieb Sandy Drobic:
Ingo Tschutter wrote:
Vielen Dank für all eure Bemühungen. Ich werde nun das Script mbox2cyrus.pl versuchen. Mal schauen, was dort unter`m Strich rauskommt. Ich werde dann noch mal berichten, ob es klappte, oder auch nicht.
Hat alles geklappt?
-- Sandy
Ich bin begeistert. JA ! Es klappte. Und zwar besser als ich dachte. Das einlesen der ca. 400.000 Mails ging so schnell von statten, dass es sich noch nicht mal lohnte, das Badewasser einzulassen ;) Nee, aber mal im Ernst. Eigentlich ist es j auch logisch, da ich den cyrus aus der Sache ja total herauslasse. Zumindest beim Anlegen der Files. Auch das anschliessende reconstruct flutschte sher schnell durch. An dieser Stelle nochmal vielen Dank an alle !!!! Ingo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Christian Brabandt
-
Fred Ockert
-
Ingo Tschutter
-
Oliver Block
-
Sandy Drobic
-
suse-list@hus.ath.cx