Страница 1 из 1

Восстановление почты с упавшего сервера

Добавлено: 2018-08-15 15:55:56
kuksha
Упала связка exim+dovecot (+PostGre для базы пользователей, но что там ещё было - не знаю, но точно не сами письма)
У одного из пользователей почта была на IMAP... Файлы этого ящика все на месте, вместе с папками, но как из них письма достать - непонятно - это же не плоский mailbox...
Сейчас поднимаю сервер iRedMail - там обещают что dovecot сразу работает, а раз так, то если положить старые файлы в ящик то может быть получится письма IMAP-клиентом получить. Но, я боюсь не велась ли какая-то запись в PostGre, постгрешную базу-то я не смог вытащить...

В общем, прошу совета - нужно максимально простое решение для одноразовой выемки писем...

Восстановление почты с упавшего сервера

Добавлено: 2018-08-16 15:57:09
FiL
если почта в Maildir то ее там почти любой imap сервер найдет и вполне увидит.
Если очень хочется, то можно просто все файлы слить в один и получить mailbox. Но лучше не надо :)

в базе ничего относящегося к почте как таковой быть не должно. Это нарушило-бы спецификацию Maildir'a.
Вот только юзера... но это и без меня понятно, я думаю.

Восстановление почты с упавшего сервера

Добавлено: 2018-08-21 14:45:38
kuksha
Да, спасибо, всё получилось - dovecot, поставленный iRedMail-ом, подцепил старую почту.
Несколько неприятностей:
1) по IMAP получить всю почту не получилось - аутлук вывалился с ошибкой синхронизации папок, считав только пятую часть писем
Зато по POP3 были получены все письма кроме двух (может IMAP из-за них и споткнулся... причины не ясны - были сбойные секторы на винте, но ведь скопировалось без проблем...)
2) установить iRedMail на FreeBSD 10.3 не получилось - ошибка компиляции после 5 часов работы...
запустил на FreeBSD 11.2
запустил на Ubuntu - 15 минут и iRedMail готов к работе, на этой сборке всё и сделал (обидно за фрюху...)
а на фрюхе компилялось ещё четыре часа и опять свалилось...

Восстановление почты с упавшего сервера

Добавлено: 2019-11-13 15:35:59
sumare
Хоть и сильно запоздало ибо прошёл ровно год, но возможно кому-то пригодится, я бы попробовал через штатный экспорт/импорт довкота как-то так: на старом сервере делаем копию почты пользователя sumare в папку бэкап в разные форматы: sdbox именно так - без слеша в конце:
doveadm sync -u sumare sdbox:/home/sumare/2019-11-03-backup-sdbox-sumare
или в mdbox:
doveadm sync -u sumare mdbox:/home/sumare/2019-11-03-backup-mdbox-sumare

копируем эту папку на новый сервер куда угодно, пользователь sumare уже должен быть заведен и выполнено хотя бы раз подключение почтовым клиентом чтобы создались файлы аккаунта, после этого делаем импорт всех писем оттуда в подпапку old папки Входящие пользователя sumare (если её нет то создастся автоматически как и у эксченджа):
doveadm -Dv import -u sumare mdbox:/home/sumare/2019-11-03-backup-mdbox-sumare/ Inbox/old all

но после этого там ничего не отобразится и вот почему: дело в том, что мало просто создать папку, надо ещё и подписаться на её отображение. Сейчас в почтовом клиенте она не видна и письма в ней тоже, но если посмотреть управлялкой, то можно увидеть что в INBOX появилась подпапка old со всей структурой состояния ящика на момент импорта
doveadm mailbox list --user sumare

подписываемся на неё и после перезапуска почтового клиента она там появится:
doveadm -Dv mailbox subscribe -u sumare INBOX/old/INBOX

после этого спокойненько мышкой пользователь перетаскивает что ему надо-оно не смешается с тем что накопилось в новом. так же можно ему подцепить его отправленные или удаленные или что там ещё у него будет. если ящик поврежден-там была какая-то команда довадм с ключом форс для починки ящика, уже не помню искать надо.