Ситуация:
У меня есть офлайн-резервная копия гигов электронной почты. После некоторого чтения я убедился, что электронную почту можно восстановить в MailDir на моем новом сервере через rsync.
Мой довольно простой вопрос:
Имена файлов...
В моем автономном каталоге резервных копий все письма содержат старое имя сервера в имени файла писем:
Поскольку мое текущее имя хоста — admin.example.com
, следует ли мне сначала настроить какой-либо тип пакета, search and replace
чтобы заменить server1.old-example.com
его на admin.example.com
....., а затем выполнить rsync из автономной резервной копии в онлайн-MailDir?
Если да, то какой метод рекомендуется?
спасибо
решение1
Имя хоста не имеет значения, все до первого ,
— это просто уникальный идентификатор без определенного формата. (Цель включения имени хоста — обеспечить уникальность имени файла — например, когда несколько серверов MX доставляют почту в один и тот же Maildir по NFS, это гарантирует, что даже сообщения, доставленные в один и тот же момент, не будут конфликтовать.)
Так что просто перенесите весь свой Maildir на новый сервер, и все должно работать; новый сервер IMAP будет забирать сообщения, найденные на нем, cur/
независимо от имен хостов. (Однако, как упоминалось в комментариях, убедитесь, что владелец UID/GID указан правильно.)
(Однако я бы, вероятно, очистил старый серверный мусор, такой как файлы «dovecot.index», перед загрузкой на новый сервер.)
Будьте внимательны и не пропустите подпапки — они обычно хранятся как скрытые подкаталоги, например, папка «Архив/2022» будет выглядеть так Maildir/.Archive.2022/
: . Способ хранения подпапокможетразличаются между серверами.
Если прямое восстановление не удается, вы можете загрузить сообщения через IMAP (разрешив серверу хранить их так, как ему нужно), например, с помощью почтовых приложений на базе терминала mutt
или Microsoft Exchange:neomutt
Запустите
mutt -f ~/Mail_backup/
, чтобы открыть локальный Maildir (не включайте часть «cur/»!).Используйте Shift+T
.
Enterдля выбора («отметки») всех сообщений.Используйте ; Shift+Cдля «копирования», затем укажите URL-адрес целевого сервера IMAP.
Копировать с тегом в почтовый ящик:imap://[email protected]/ВХОДЯЩИЕ
Примечание: Подпапки могут называться или
Archive.2022
вArchive/2022
зависимости от типа вашего сервера IMAP. (Это может быть даже так,INBOX.Archive.2022
если это сервер Courier, который настаивает на размещении всех подпапок в папке INBOX.)После загрузки всех сообщений xвыйдите без сохранения изменений (на всякий случай, если вы случайно что-то сделали) и вернитесь к шагу 1 для восстановления оставшихся подпапок.