LINUX.ORG.RU
ФорумAdmin

Синхронизация IMAP серверов


0

0

Имеется 2 почтовых сервера (на одном Cyrus, на втором Zimbra). Возникла необходимость периодической синхронизации этих серверов примерно раз в 5 минут (Использовать один сервер невозможно по внутрикорпоративным причинам). Пробовал использовать imapsync, передавая ему в скрипте учетные данные пользователей, но возникли проблемы: 1. Если запускать синхронизацию пользователей по очереди, то не вписываюсь во временной интервал синхронизации (всего пользователей примерно 200 человек, у каждого - до 200 писем ежедневно), при том, что серверы соединены 100Мбит LAN. 2. Если запускать (п.1) по крону с интервалом 5 минут, то бывали случаи, когда работало одновременно десятки скриптов (скрипт может работать больше часа), что очень перегружало сервер.

Есть ли способ нормальной синхронизации серверов без imapsync'а, желательно по таймеру? Еще некоторая информация: к Zimbra имею полный доступ, могу менять любые настройки сервера; к Cyrus'у есть тоже полный доступ, но настройки менять не могу и доступ к почте без ssl.



Последнее исправление: VasilchukMax (всего исправлений: 1)

Ответ на: комментарий от undertaker

А можно зимбру заставить работать напрямую через второй сервер? Т.е. без своего внутреннего? Просто я не нашел такую настройку.

VasilchukMax
() автор топика
Ответ на: комментарий от alfss

Т.е., чтобы в вместо своего внутреннего IMAP-сервера использовала Cyrus на другой машине, а сама зимбра была в качестве веб-интерфейса.

VasilchukMax
() автор топика
Ответ на: комментарий от markevichus

>rsync?

Кстати, да. (или unison). Насколько я понимаю, в том же Курьере достаточно тупо скопировать письма из каталогов одного сервера в каталог другого.

KRoN73 ★★★★★
()
Ответ на: комментарий от VasilchukMax

>Серверы все-таки разные.

Э... Я про courier-courier говорил. У других серверов структура, понятно, другая может быть. Там в лоб скопировать не поможет.

KRoN73 ★★★★★
()

если используете maildir, то просто копируете сообщения с одного сервера на другой.

zgen ★★★★★
()
Ответ на: комментарий от VasilchukMax

> А можно зимбру заставить работать напрямую через второй сервер? Т.е. без своего внутреннего? Просто я не нашел такую настройку.

Наверняка можно, посмотрите в документации.

undertaker ★★
()
Ответ на: комментарий от undertaker

>Наверняка можно, посмотрите в документации.
наверняка нельзя, это же ынтерпрайз зимбра, она тем и плоха, кстати

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

> наверняка нельзя, это же ынтерпрайз зимбра, она тем и плоха, кстати

А она разве не набор FOSS-компонент, скреплённых веб-интерфейсом, скриптами и такой-то матерью?

undertaker ★★
()
Ответ на: комментарий от undertaker

Вроде нельзя без большого напильника. По крайней мере я не смог так сделать. Поэтому приходится на 2 сервера работать, причем первый убрать никак не получится.

VasilchukMax
() автор топика
Ответ на: комментарий от VasilchukMax

В общем, imap-сервер — это не тот уровень абстракции, на котором стоит организовывать репликацию. Либо, как тут посоветовали, прикрутить unison или rsync (получится уровень FS, будет работать, если imap-сервер один и тот же, либо используется одинаковый формат хранилища (maildir)), либо, например, настроить пересылку почты MTA<->MTA, а удаление-перемещение обрабатывать чем-нибудь ещё. В любом случае, нужно будет выбрать master-сервер. Всё-таки зачем 2 именно imap-сервера? Перенастроить клиентов на использование 1-го — никак?

undertaker ★★
()
Ответ на: комментарий от undertaker

>А она разве не набор FOSS-компонент, скреплённых веб-интерфейсом, скриптами и такой-то матерью?
оно набор изменённых компонет, которые нельзя заменить, т.е. неразделимая на компоненты хрень

dimon555 ★★★★★
()
Ответ на: комментарий от undertaker

>> Всё-таки зачем 2 именно imap-сервера? Перенастроить клиентов на использование 1-го — никак?

Объясню немного. В компании в данный момент стоит сервер на Cyrus'е, но решили перейти на зимбру. При этом переход нужно сделать очень плавным и незаметным, т.к в какой-то момент пользователи могут одновременно работать и там, и там (многие хотят работать с почтой вне офиса, а доступ к cyrus'у закрыт извне), поэтому приходится сейчас извращаться, чтобы все это работало параллельно. Почему нельзя сделать мгновенный переход? У многих почта очень важная, и ее много. Поэтому такие пользователи будут переходить в последнюю очередь, когда будет успешно выполнен переход основной части людей.

прикрутить unison или rsync (получится уровень FS, будет работать, если imap-сервер один и тот же, либо используется одинаковый формат хранилища (maildir)

Надо будет maildir попробовать к зимбре прикрутить

VasilchukMax
() автор топика
Ответ на: комментарий от VasilchukMax

Я тогда посоветую все соединения до Cyrus завернуть на зимбру (средствами dns или iptables, если у вас всё плохо и вы используете ip-адреса в настройках клиентов), после односторонней синхронизации, естественно. Заморачиваться с синхронизацией очень не рекомендую, выйдет криво и костыльно, и всё равно потом под снос.

btw, ещё есть такая штука, как imapproxy, если прямо завернуть не получится.

undertaker ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.