Это старая версия документа!
ВНИМАНИЕ! При обновлении до Benno MailArchiv 2.0 основная группа пользователя "benno" также должна совпадать с группой "benno"!
usermod -g benno benno
Для переноса архивированных писем из Benno 1.x в Benno 2.x необходимо, чтобы все архивированные письма были прочитаны из репозитория Benno 1, а также чтобы был настроен каталог «Входящие» в Benno 2.
Электронные письма в архиве заархивированы (поэтому их необходимо распаковать). Электронные письма во входящих должны быть доступны для чтения и записи пользователем "benno".
Следующий простой скрипт копирует все электронные письма из репозитория Бенно 1 и помещает их в распакованном виде с соответствующими правами доступа (пользователь benno) в каталог очереди писем Бенно 2.
Скрипт копирует все электронные письма одновременно. Это означает, что для извлечения писем должно быть достаточно места на диске. Хотя письма во входящих удаляются после архивации, копирование происходит быстрее, чем архивирование!
Приведённый ниже простой скрипт копирует все электронные письма из старого хранилища в почтовый ящик Бенно 2.
Чтобы избежать чрезмерного потребления дискового пространства во время миграции, можно, например, обрабатывать иерархию каталогов верхнего уровня из каталога репозитория (т.е. соответствующие каталоги 7/, 8/, c/, e/, ...) по отдельности. Для этого необходимо будет скорректировать каталог в REPODIR для каждого каталога в скрипте.
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 # Простой скрипт миграции для копирования заархивированных и заархивированных писем # из репозитория Benno MailArchiv 1.x в каталог "входящие" # Benno MailArchiv 2.x # ИСПОЛЬЗУЙТЕ ЭТОТ СКРИПТ НА СВОЙ СТРАХ И РИСК!!! # 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 "Создать файл ${FILENAME} " zcat ${GZFILE} > ${FILENAME} / ${FILENAME} chown benno ${FILEPATH} / ${FILENAME} ln ${FILENAME} ln ${FILENAME} / ${FILENAME} ${FILEPATH} / ${FILENAME} .eml rm ${FILEPATH} / ${FILENAME} done