码迷,mamicode.com
首页 > 其他好文 > 详细

imapsync 实现两个不同邮件域内邮箱的迁移和备份

时间:2015-11-11 22:21:09      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:mail imapsync

前言:

   由于公司的旧的邮件服务器操作系统版本太低,所以升级到了一个新的操作版本后,我们在新的服务器上部署好了不同邮件域(临时的)的邮件服务器,为了减小对业务的影响,我们先停止业务对邮件服务器的更新,并使用imapsync将原来的邮件服务器的所有邮箱都迁移到新的邮件服务器上,迁移速度很快,迁移完成后,我们测试下新的邮件服务器,当可以正常使用的时候,我们切换新的域名到新邮件服务器上。


imapsync是啥?

    imapsync可以实现邮件服务器迁移,支持 IMAP 的邮箱,它用于同步两个imap邮箱 (仅适合迁移邮箱或者备份,不适合同步两个有用户同时访问的 imap 帐号)

    安装 imapsync (可以装在要同步的任意一台服务器上,也可以装在第三方的服务器上),这里我们安装到新邮件服务器上,使用下面的命令:   

    yum install imapsync


imapsync的使用可以执行“imapsync --help”进行查看,因为很简单,所以下面提供一个参考的例子:


#!/bin/bash - 

#usage: time /$path/imapsync_mail.sh > /root/sync_mail.log

mail_accounts=(

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工具也能实现这个功能。

本文出自 “zhangdh开放空间” 博客,请务必保留此出处http://linuxblind.blog.51cto.com/7616603/1711920

imapsync 实现两个不同邮件域内邮箱的迁移和备份

标签:mail imapsync

原文地址:http://linuxblind.blog.51cto.com/7616603/1711920

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!