E-Mail/Manuelle Konfiguration/Archivierung: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Ankommende E-Mails werden bei uns typischerweise in einer Mailbox vom Typ »Maildir« gespeichert. Dieses Mailbox-Format hat zwar bei der normalen Verwendung unsc…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Ankommende E-Mails werden bei uns typischerweise in einer Mailbox vom Typ »Maildir« gespeichert. Dieses Mailbox-Format hat zwar bei der normalen Verwendung unschlagbare Vorteile, wird aber sichtbar langsamer wenn sich zu viele E-Mails in einem Verzeichnis befinden.
Ankommende E-Mails werden bei uns typischerweise in einer Mailbox vom Typ »Maildir« gespeichert. Dieses Mailbox-Format hat zwar bei der normalen Verwendung unschlagbare Vorteile, wird aber sichtbar langsamer wenn sich zu viele E-Mails in einem Verzeichnis befinden.


Typischerweise sollten sich nicht mehr als 5.000 E-Mails in einer Mailbox befinden, damit der IMAP-Server diese schnell auflisten kann.
Typischerweise sollten sich nicht mehr als 5.000 E-Mails in einem Unterordner befinden, damit der IMAP-Server diese schnell auflisten kann.


== Automatische Archivierung ==
== Automatische Archivierung ==
Zeile 16: Zeile 16:
In unserem Beispiel befindet sich die reguläre Mailbox in '''~/mailbox/inbox/''', was gleichzeitig auch der Pfad des IMAP-Kontos ist. Eine separate Mailbox unter '''~/mailbox/attic/''' ist als separates Postfach eingerichtet und soll das Archiv aufnehmen.
In unserem Beispiel befindet sich die reguläre Mailbox in '''~/mailbox/inbox/''', was gleichzeitig auch der Pfad des IMAP-Kontos ist. Eine separate Mailbox unter '''~/mailbox/attic/''' ist als separates Postfach eingerichtet und soll das Archiv aufnehmen.


Die Archivierung soll so erfolgen, dass jeder Ordner des Original-Mailbox im Archiv um Unterordner für Jahr und Monat erweitert wird.
Die Archivierung soll so erfolgen, dass jeder Ordner der Original-Mailbox im Archiv um Unterordner für Jahr und Monat erweitert wird.


=== Script ===
=== Script ===
Zeile 29: Zeile 29:
  # Alle Ordner finden:
  # Alle Ordner finden:
  find "${MAILBOX}." -maxdepth 1 -type d -and -not \( -name tmp -or -name cur -or -name new -or -name courierimapkeywords -or -name courierimaphieracl -or -name . \) -printf "%f\0" | \
  find "${MAILBOX}." -maxdepth 1 -type d -and -not \( -name tmp -or -name cur -or -name new -or -name courierimapkeywords -or -name courierimaphieracl -or -name . \) -printf "%f\0" | \
   xargs -0 -I FOLDER /usr/local/bin/cleanup-maildir --quiet -a "${DAYS}" -d 2 --archive-folder="${ARCHIVE}"FOLDER --folder-prefix="" --maildir-root=${MAILBOX} archive FOLDER
   xargs -0 -I FOLDER /usr/local/bin/cleanup-maildir --trial-run -a "${DAYS}" -d 2 --archive-folder="${ARCHIVE}"FOLDER --folder-prefix="" --maildir-root=${MAILBOX} archive FOLDER
 
 
Bitte ersetzen Sie in der letzten Zeile '''--trial-run''' durch '''--quiet''', wenn Sie sicher sind, dass die Archivierung die korrekten Ordnernamen benutzt.

Aktuelle Version vom 31. August 2010, 08:32 Uhr

Ankommende E-Mails werden bei uns typischerweise in einer Mailbox vom Typ »Maildir« gespeichert. Dieses Mailbox-Format hat zwar bei der normalen Verwendung unschlagbare Vorteile, wird aber sichtbar langsamer wenn sich zu viele E-Mails in einem Verzeichnis befinden.

Typischerweise sollten sich nicht mehr als 5.000 E-Mails in einem Unterordner befinden, damit der IMAP-Server diese schnell auflisten kann.

Automatische Archivierung

Da man in der Regel seine E-Mails nicht löschen möchte, bietet es sich an, eine automatische Archivierung einzurichten. Hierfür haben wir das Programm cleanup-maildir in einer angepassten Version installiert.


Ganze Mailbox-Hierarchie archivieren

Bei einer Mailbox mit mehreren Unterordnern bietet es sich an, die gesamte Hierarchie in einer zweiten IMAP-Mailbox als Archiv nachzubilden. Damit werden die archivierten E-Mails nicht mehr innerhalb der Mailbox des täglichen Bedarfs gespeichert und verlangsamen den regulären Zugriff nicht. Da Sie bei uns mittels grep oder mutt auch direkt auf dem Server zugreifen können, ist eine Suche nach alten Nachrichten auch möglich ohne stets den gesamten Nachrichtenbestand in das E-Mail-Programm zu laden.

Vorbedingungen

In unserem Beispiel befindet sich die reguläre Mailbox in ~/mailbox/inbox/, was gleichzeitig auch der Pfad des IMAP-Kontos ist. Eine separate Mailbox unter ~/mailbox/attic/ ist als separates Postfach eingerichtet und soll das Archiv aufnehmen.

Die Archivierung soll so erfolgen, dass jeder Ordner der Original-Mailbox im Archiv um Unterordner für Jahr und Monat erweitert wird.

Script

Folgendes Script nutzt cleanup-maildir um eine gesamte Mailbox mit allen Unterverzeichnissen zu archivieren. Beachten Sie, dass die Zeilen sehr lang sind. Vor dem Zeilenumbruch befindet sich ein \, der dafür sorgt, dass der Zeilenumbruch ignoriert wird. Dies muss entweder exakt so beibehalten werden oder der \ muss zusammen mit dem Zeilenumbruch entfernt werden.

# Mit abschließendem / angeben!
MAILBOX=~/mailbox/inbox/
ARCHIVE=~/mailbox/attic/
DAYS=90 

# Alle Ordner finden:
find "${MAILBOX}." -maxdepth 1 -type d -and -not \( -name tmp -or -name cur -or -name new -or -name courierimapkeywords -or -name courierimaphieracl -or -name . \) -printf "%f\0" | \
  xargs -0 -I FOLDER /usr/local/bin/cleanup-maildir --trial-run -a "${DAYS}" -d 2 --archive-folder="${ARCHIVE}"FOLDER --folder-prefix="" --maildir-root=${MAILBOX} archive FOLDER


Bitte ersetzen Sie in der letzten Zeile --trial-run durch --quiet, wenn Sie sicher sind, dass die Archivierung die korrekten Ordnernamen benutzt.