Это старая версия документа!
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
Для переноса архивированных писем из Benno 1.x в Benno 2.x необходимо, чтобы все архивированные письма были прочитаны из репозитория Benno 1, а также чтобы был настроен каталог «Входящие» в Benno 2.
Электронные письма в архиве заархивированы (поэтому их необходимо распаковать). Электронные письма во входящих должны быть доступны для чтения и записи пользователем "benno".
Следующий простой скрипт копирует все электронные письма из репозитория Бенно 1 и помещает их в распакованном виде с соответствующими правами доступа (пользователь benno) в каталог очереди писем Бенно 2.
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!!
Приведённый ниже простой скрипт копирует все электронные письма из старого хранилища в почтовый ящик Бенно 2.
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.
#!/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} perl -e "select(undef,undef,undef,0.5);" done
Der Aufruf von „select“ verzögert den Ablauf nach einer Datei um 0,5 Sekunden. Hiermit wird vermieden, dass die Anzahl der Dateien in der Inbox zu gross wird, falls sich der Import aufgrund von IO-Last zeitweilig verlangsamt.