[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Doubletten aus mbox entfernen. Kleines HowTo mit formail und procmail
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: Doubletten aus mbox entfernen. Kleines HowTo mit formail und procmail
- From: Raphael Eiselstein <rabe@xxxxxxxxx>
- Date: Wed, 11 Feb 2015 01:33:31 +0100
- To: uugrn@xxxxxxxxxxxxxxx
Hallo zusammen, aufgrund einer *kleinen* Panne in einem Mail-Script habe ich mir in duzenden mbox-Files teilweise mehrere Duplikate einzelner E-Mails erzeugt, indem ich ein und die selbe eingehende E-Mail mehrfach parallel mittels procmail verarbeitet habe. Das Script selbst prueft zwar, ob eine Mail mit einer checksumme schon ge-procmail't wurde, hatte aber urspruenglich kein lockfile erzeugt, was eine parallel laufende Instanz des Scriptes effektiv am *zeitgleichen* Verarbeiten ein und der selben E-Mail verhindert haette. Lessons learned ;) Aufraeumen geht dann so (wer auch immer das mal benoetigt): Angenommen neue (eingehende) Mails werden mit procmail verarbeitet und dabei sortiert, kann man eine bestehende mbox Datei (also das, wo wo procmail reinschreibt) mittels "formail" nochmal durchlaufen lassen. In seiner Standardform funktioniert formail zB so: formail -s procmail < ./unsortierte.mbox Dabei wird der Inhalt von ./unsortierte.mbox in einzelne Nachrichten aufgespilittet und einzeln an procmail verfuettert, also letztlich genau das, was ein lokaler Mailer eben auch tun wuerde, zB sendmail, oder eben mein Spezialscript (mit dem Bug). formail kann dabei doppelte Message-IDs ausfiltern, wenn man ihm das sagt: formail -D 1048576 /tmp/idcache.tmp -s procmail < ./mbox-mit-duplikaten Gruss Raphael PS: und jetzt bitte keine Beschwerden von Hipstern, die neumodischen Kram wie "maildir" verwenden oder von Leuten, die E-Mails nur noch mit GUIs oder gar nur noch Webmailer kennen! -- Raphael Eiselstein <rabe@xxxxxxxxx> PGP 4E63 5307 6F6A 036D 518D 3C4F 75EE EA14 F625 DB4E .........|.........|.........|.........|.........|.........|.........|.. -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/