Разработки
November 8, 2024
Скрипт синхронизации почтовых ящиков между 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.