Коротко: Кто-нибудь знает пошаговое руководство по переносу данных maildir с одной голубятни на другую?
В долгом: Я пытаюсь перенести свой почтовый сервер на новую машину.
Сначала я попытался просто tar & rsync мой единственный каталог maildir, но все подпапки в Thunderbird были затенены.
Итак, я подумал, что сделаю это снова с помощью doveadm sync, но теперь я просто не нашел четкого пути, как это сделать с помощью голубятня руководство, Google или serverfault.
Неужели еще нет простого пошагового руководства для этого? Или это слишком просто, и я этого не понимаю? Руководство не содержит достаточных объяснений для такого новичка, как я.
Я начал с doveadm backup -u me@domain.tld ... It tells me
doveadm (root): Ошибка: Пользователь не существует. But
doveadm user * @ domain.tld` возвращает именно этого пользователя. Теперь я наткнулся на пункт ниже, поэтому пока не пытаюсь разбираться в этой проблеме.
Поскольку у меня уже есть данные, синхронизированные с моей новой машиной, я попробовал следующее. Я запустил контейнер докеров без открытых портов, поэтому dovecot работает, но никто не может подключиться к postfix или dovecot. Я подключился к консоли контейнера и попробовал импорт doveadm. Получены проблемы с отказом в разрешении. Пробовал с разрешениями, установленными на 777. doveadm import завершен, не сообщая мне о каких-либо проблемах, но каталог пользователя все еще пуст (только стандартные папки без писем)
Я перешел с postfix + courier + mysql на основе Wheezy на Stretch (postfix + mysql + dovecot) со слегка обновленной конфигурацией плюс несколько новых опций при новой установке.
Ключом к моей миграции было то, что все пользователи были виртуальными (через таблицы mysql), и вся почта хранилась в / home / vmail / domain / user / [различные почтовые отправления]
Новая система имеет аналогичную структуру для maildirs, только в / var / vmail / domain / user вместо / home / vmail ...
Единственная «хитрость» заключалась в копировании файлов и обеспечении правильного владения и других разрешений для нового местоположения.
вы МОЖЕТЕ использовать imapsync на самом деле ... но это не помогло мне из-за какой-то непонятной ошибки.
rsync НЕ является хорошей идеей ... потому что dovecot / thunderbird / icedove не восстанавливает индексные файлы / структуру папок.
решение на самом деле простое: используйте thunderbird / icedove в своем почтовом клиенте!
PS: Спасибо, что проголосовали за мой последний пост об улучшении и удалили "ура". эта платформа - отстой. я действительно думаю о бойкоте.
Причина, по которой мне не удалось найти хорошее руководство по копированию dovecot <-> dovecot, заключалась в том, что есть простой и более общий способ сделать это imap <-> imap. (Например ImapSync Спасибо, Свен, за комментарий к моему вопросу).
ImapSync: Я так и сделал.
Необходимые зависимости для сборки
apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl libauthen-ntlm-perl libcrypt-ssleay-perl libdigest-hmac-perl libfile-copy-recursive-perl libio-compress-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perl libmodule-scandeps-perl libnet-ssleay-perl libpar-packer-perl libreadonly-perl libterm-readkey-perl libtest-pod-perl libtest-simple-perl libunicode-string-perl liburi-perl cpanminus
Модули CPAN (CPAN = всеобъемлющая сеть архивов Perl)
cpanm JSON::WebToken Test::MockObject Unicode::String Data::Uniqid
Затем получите код imapsync с github и выполните сборку с помощью make install
Когда это будет сделано, использовать его так же просто, как
imapsync \
--host1 test1.lamiral.info --user1 test1 --password1 secret1 \
--host2 test2.lamiral.info --user2 test2 --password2 secret2
Подробнее Вот
hostnamectl
Static hostname: debian
Icon name: computer-vm
Virtualization: oracle
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-6-amd64
Architecture: x86-64
попробовал сегодня ИМХО, думаю, тоже отсутствует:
apt install libssl-dev
потом жалуется:
Here is a cpanm command to install missing Perl modules:
cpanm "Crypt::OpenSSL::RSA Dist::CheckConflicts JSON::WebToken::Crypt::RSA Regexp::Common Sys::MemInfo"
Makefile:99: recipe for target 'testp' failed
make: *** [testp] Error 1
Итак, я попробовал:
cpanm Crypt::OpenSSL::RSA Dist::CheckConflicts JSON::WebToken::Crypt::RSA Regexp::Common Sys::MemInfo
затем сработало "make install":
imapsync -v
1.882