Разработки
November 8

Скрипт синхронизации почтовых ящиков между CommuniGate и MSExchange

Запускать можно везде, где установлены пакеты imapsync и parallel.

Заполните файл users_migrate.txt

АЛИАС-В-MSAD,ЛОГИН-В-CG,ПАРОЛЬ-ЛОГИНА-В-CG,EXCHANGE-СЕРВЕР,CG-СЕРВЕР
АЛИАС-В-MSAD,ЛОГИН-В-CG,ПАРОЛЬ-ЛОГИНА-В-CG,EXCHANGE-СЕРВЕР,CG-СЕРВЕР
EXCHSVCLOGIN="MSAD\\svc_mbxaccess" # Логин сервисной у-з в MS AD, которая имеет доступ к почтовым ящикам пользователей
EXCHSVCPWD='PaSSw0rd' # Пароль от сервисной у-з в MS AD, которая имеет доступ к почтовым ящикам пользователей
PROCS='30' # Количество одновременных сеансов
parallel --max-procs $PROCS --delay 1.4 --colsep ',' --arg-file users_migrate.txt --line-buffer --tagstring "from {1} on {4} to {2} via {5}: " \
        $DRYRUN imapsync --compress1 \
        --host1 {4} --user1 "$EXCHSVCLOGIN\\{1}" --password1 "$EXCHSVCPWD" \
        --host2 {5} --user2 {2} --password2 {3} \
        --syncinternaldates --useheader Message-ID --useheader Date --useheader Subject --useheader From --useheader To \
        --useheader Cc --useheader Bcc --useheader Reply-To --useheader In-Reply-To --useheader References --useheader Mime-Version \
        --useheader Content-Type --useheader Content-Transfer-Encoding --useheader Content-Disposition --useheader Content-Description \
        --useheader Content-ID --useheader Content-Location --useheader Content-Language --useheader Content-Base \
        --useheader Content-MD5 --sslargs2 SSL_verify_mode=0 --sslargs2 SSL_verify_mode=0 \
        --exclude '^Calendar\#39; --exclude '^Contacts\#39; --exclude '^\&BBoEMAQ7BDUEPQQ0BDAEQARM-' \
        --pidfile "/tmp/{2}_migrate.pid"

Строка "^\&BBoEMAQ7BDUEPQQ0BDAEQARM-" - это папка "Календарь", её синхронизировать нельзя, тк ломает Календарь в CG.