imapsync 實現兩個不一樣郵件域內郵箱的遷移和備份

前言:linux

   因爲公司的舊的郵件服務器操做系統版本過低,因此升級到了一個新的操做版本後,咱們在新的服務器上部署好了不一樣郵件域(臨時的)的郵件服務器,爲了減少對業務的影響,咱們先中止業務對郵件服務器的更新,並使用imapsync將原來的郵件服務器的全部郵箱都遷移到新的郵件服務器上,遷移速度很快,遷移完成後,咱們測試下新的郵件服務器,當能夠正常使用的時候,咱們切換新的域名到新郵件服務器上。bash


imapsync是啥?服務器

    imapsync能夠實現郵件服務器遷移,支持 IMAP 的郵箱,它用於同步兩個imap郵箱 (僅適合遷移郵箱或者備份,不適合同步兩個有用戶同時訪問的 imap 賬號)ide

    安裝 imapsync (能夠裝在要同步的任意一臺服務器上,也能夠裝在第三方的服務器上),這裏咱們安裝到新郵件服務器上,使用下面的命令:   工具

    yum install imapsync測試


imapsync的使用能夠執行「imapsync --help」進行查看,由於很簡單,因此下面提供一個參考的例子:
ui


#!/bin/bash - spa

#usage: time /$path/imapsync_mail.sh > /root/sync_mail.log操作系統

mail_accounts=(orm

zhangdh1113

lance

linuxblind

)

accounts_passwd=(

'zdh@2013'

'zdh@2014'

'zdh@2015'

)


i=0

while [ $i -lt ${#mail_accounts[@]} ];do

#    uid=`id -u ${mail_accounts[$i]} 2>/dev/null`

#    if [ $? -eq 0 ]; then

#          echo "usesrname \"${mail_accounts[$i]}\" already exist with its id \"$uid\"" >&2

#          exit 1

#    fi  

#    useradd ${mail_accounts[$i]}

#    echo "${accounts_passwd[$i]}" |passwd --stdin ${mail_accounts[$i]}

#    echo "user \"${mail_accounts[$i]}\" was created successfully!"

    #userdel ${mail_accounts[$i]}

    #rm -rf /home/${mail_accounts[$i]}

    /usr/bin/imapsync --host1 mail.a.com --user1 ${mail_accounts[$i]} --password1  ${accounts_passwd[$i]} --host2 mail.b.com --user2 ${mail_accounts[$i]} --password2 ${accounts_passwd[$i]} --delete2folders --delete2 >> /root/imap_sync.log 2>> /root/imap_sync.error.log

    let i++

done


exit 0



固然,某些狀況下,mb2md.pl工具也能實現這個功能。

相關文章
相關標籤/搜索