Dies ist eine alte Version des Dokuments!
Wird eine schon archivierte E-Mail erneut importiert, wird dieses mit Hilfe der Duplikatserkennung festgestellt. In diesem Fall wird die archivierte Datei nicht verändert und die zu importierende E-Mail wird mit Hilfe des Tokenizers analysiert. Anschließend wird der Index-Eintrag der E-Mail gelöscht und durch die aktualisierten Index-Daten des Tokenizers neu beschrieben.
Dieses Vorgehen kann beispielsweise sinnvoll werden, wenn der Tokenizer ein vorher nicht bekanntes Dateiformat unterstützt und E-Mails mit diesen Anhängen besser gefunden werden sollen.
Zur Re-Indexierung eines Containers müssen alle E-Mails einmal neu gelesen und indexiert werden.
Um einen Container komplett zu re-indexen, ist es erforderlich, alle E-Mails aus dem Repository erneut zu importieren. Für den Re-Import werden die E-Mails aus dem Repository in das Inbox-Verzeichnis übertragen.
Im Repository-Verzeichnis liegen die E-Mails als gezippte Dateien in einem erweiterten RFC822-Format. Die Dateien enthalten einen speziellen Header mit internen Metainformationen sowie die eigentliche E-Mail.
Für den Re-Index muss zuerst dieser Header abgetrennt werden. Danach muss die E-Mail "atomar" in die Inbox geschrieben werden.
Zur Vereinfachung des Imports stellen wir das Perl-Script benno-bennobox2eml zur Verfügung. Dieses durchsucht das Repo-Verzeichnis nach den Archivdateien, extrahiert die Header und schreibt die E-Mails atomar in das Inbox-Verzeichnis.
Usage: ./benno-bennobox2eml [-h] [-d] [-v] [-m <num>] -a <archive directory> [-e <export directory] -a archive directory -e export files to this directory (default current archive directory) -d dry run -m <num> max files in inbox directory -v verbose
Beispiel-Aufruf:
./benno-bennobox2eml -a /srv/benno/archive/repo -e /srv/benno/inbox