Возникла необходимость (из-за кривого обновления) перенести почту с CentOS 8 на Ubuntu 18. Большая часть действий была успешно взята и применена вот из этой статьи: Перенос почтовых ящиков и почты Zimbra с одного сервера на другой

Однако на этапе экспорта (а потом и импорта) архивов с почтой возникла проблема.

Команда:

for user in `cat users.txt`; do echo "Exporting mailbox $user" ; zmmailbox -z -m $user getRestURL '/?fmt=tgz' > mailbox_data/$user.tgz ; done

Не хотела работать и выдавала ошибку java.net.SocketTimeoutException Connect timed out справиться с которой так и не получилось. Поэтому и для экспорта и для импора в Zimbra были использованы следующий команд:

Импорт: 

for user in `cat users.txt`; do echo "Exporting mailbox $user" ; wget --no-check-certificate --user=zimbraadmin --password=zimbraAdminPass -O $user.tgz https://OldZimbraServer:7071/home/$user/?fmt=tgz ; done

 также можно добавить команду --no-proxy если выдает ошибку Proxy tunneling failed: Forbidden Unable to establish SSL connection.

Экспорт делал через curl. Есть официальная вики https://wiki.zimbra.com/wiki/Import_mailbox_data_which_is_exported_in_tgz_format_using_curl

Однако при больших архивах может вылезть ошибка curl: option --data-binary: out of memory

В таком случае просто меняем --data-binary на -T и убираем @ - получаем такой вид

curl -k -u admin:password -T /tmp/export.tgz "https://localhost:7071/service/home/Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript./?fmt=tgz&resolve=skip"

 

Файлы улетают в обход оперативной памяти. Я так успешно импортировал файлы по 11 гигов. 

Надеюсь статья была вам полезна и вы успешно сделали перенос почты Zimbra на новый сервер.

Компонент комментариев CComment