User tools

Website tools


upgrade

This is an old version of the document!


Migration from Benno MailArchiv 1.x to 2.x

ACHTUNG! Beim Update auf Benno MailArchiv 2.0 muss die primäre Gruppe des Benutzers „benno“ auch die Gruppe „benno“ sein!

 usermod -g benno benno

procedural principle

To port archived emails from Benno 1.x to Benno 2.x, all archived emails must be read from the repo of Benno 1 and the “inbox” directory of Benno 2 must be set.

The emails in the archive are zipped (so they need to be extracted/unzipped). The emails in the inbox directory must be readable and writable by the user "benno".

The following simple script copies all emails from the repository of Benno 1 and places them unpacked and with appropriate permissions (user benno) in the spool directory of Benno 2.

IMPORTANT NOTE

Das Skript kopiert alle Mails auf einmal. Das bedeutet: Es muss ausreichend Platz (Diskspace) für die ausgepackten E-Mails zur Verfügung stehen. Die Mails in der Inbox werden zwar nach der Archivierung gelöscht, aber das Kopieren läuft schneller als das Archivieren!!

The simple script below copies all emails from the old repository into Benno 2's inbox.

Workaround for large data sets

Damit während der Migration nicht übermäßig viel Festplattenplatz verbraucht wird, könnte man bspw. die oberste Verzeichnishierarchie aus dem Repo-Verzeichnis (also bspw. die jeweiligen Verzeichnisse 7/, 8/, c/, e/, …) einzeln verarbeiten. Hierzu müsste im Skript jeweils das Verzeichnis in der Variablen REPODIR angepasst werden.

Generell ist darauf zu achten, dass die Anzahl der E-Mails in der Inbox nicht größer als 1.000 wird. Bei einer erheblich größeren Anzahl von E-Mails in der Inbox wächst der Speicherbedarf des Archivierungsdaemons extrem an. Dieses Verhalten ist für Java 1.7 systembedingt.

Mit der flächendeckenden Einführung von Java 1.7 wird Benno MailArchiv entsprechend angepasst.

Simple migration script

#!/bin/sh
# Simple migration script to copy archived and zipped mails
# from Benno MailArchiv 1.x Repository to the "inbox" directory
# of Benno MailArchiv 2.x
# YOU USE THIS SCRIPT AT YOUR OWN RISK!!!
#
REPODIR=/srv/mailarchive/repo
FILEPATH=/srv/benno/inbox
 
for GZFILE in `find ${REPODIR} -type f -name *.gz`;do
  GZFILENAME=`basename ${GZFILE}`
  FILENAME=`echo ${GZFILENAME} | sed -e 's/\.gz/\.reimport/'`
  echo "Create file ${FILENAME}"
  zcat ${GZFILE} > ${FILEPATH}/${FILENAME}
  chown benno ${FILEPATH}/${FILENAME}
  ln ${FILEPATH}/${FILENAME} ${FILEPATH}/${FILENAME}.eml
  rm ${FILEPATH}/${FILENAME}
 
done 
upgrade.1507228900.txt.gz · Zuletzt geändert: 2017/10/05 18:41 von lwsystems