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=(

‘[email protected]‘

‘[email protected]‘

‘[email protected]‘

)

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

时间: 2024-10-25 04:40:33

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

Exchange 2016集成ADRMS系列-9:域内使用自定义的RMS模板

针对于OWA客户端来说,我们刚才部署的权限模板,已经可以正常使用了,不需要做任何额外的设置,如图. 我们发送一封测试邮件看看效果. 然后我们来到outlook 2016客户端,使用rmsuser1收进过权限加密的邮件. 第一次接收的时候,同样会联系RMS服务器. 然后就可以查看邮件了. 从下图可以看到,可以查看或答复该邮件.除此之外其他的权限都是no的. outlook 2016在联系过RMS服务器之后,已经可以使用我们之前的自定义模板了,如图所示,多了两个模板:"允许查看和答复"以及

dynamics CRM AD域内DNS服务器如何解析公网域名

AD域内需要有DNS服务器,用于解析域内的计算机名,但是域内的计算如何解析公网的域名呢?当然一种方式是将域内每台计算机都额外添加一个公共DNS服务器:另外一种比较简便的方法就是在域内DNS服务器上增加一个转发器(Forwarder). 演示环境使用的是Windows 2008,两台计算机在同一域内,一台是DNS服务器,另一台是其他用途的计算机,下面演示如何设置DNS服务器,使得另一台计算机可以解析外网域名(上公网). DNS服务器IP设置如下图,它的DNS服务器是loopback地址. 另一台计

【内网信息收集】之探测域内存活主机信息

利用NetBIOS快速探测内网 NetBIOS简介: NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据.严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API). nbtscan使用: 可扫描本地或远程TCP / IP网络上的打开的NETBIOS名称服务器,但只能用于局域网. 官网链接:http://www.

Exchange 2016集成ADRMS系列-12:域内outlook 2010客户端测试

接下来,我们来到域内安装了office 2010的机器上进行测试. 首先我们在客户端上强制刷新组策略,把我们刚才设置的策略刷新下来. 然后我们可以运行gpresult /h result.html来看看策略是不是已经下来了. 策略下来之后,我们打开客户端上面的outlook 2010,然后查看一下,可以看到默认已经可以使用RMS的权限模板了.

【VMCloud云平台】SCCM(七)域内推软件(一)

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM为域内机器推送软件(紫色为完成实施,红色为实施中): 1. 为VMloud平台部署一台测试机(可以利用之前部署的SCVMM模板): 2. 上传测试用的软件到SCCM Server中(Citrix插件将用于演示静默安装时使用): 3. 接着打开SCCM管理控制台,切换到软件库-展开定位到应用程序管理,右键新建包: 4. 输入应用程序名称及相关信息: 5. 选择程序的类别: 6. 选择文件路径与填写软件名: 7. 输入预

【VMCloud云平台】SCCM(七)域内推软件(二)

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM为域内机器推送软件(紫色为完成实施,红色为实施中): 1. 点击上端部署: 2. 选择集合为之前创建的集合: 3. 由于已经分发内容,这一页就保持默认即可: 4. 选择部署类型为可用,可供用户选择: 5. 不指定计划,让用户随时可以安装: 6. 这里选择默认即可: 7. 默认下一步: 8. 确认下一步后点击确定: 9. 进入客户端,将部署计划进行手动触发(在控制面板中找到CCM代理): 10. 过一会儿,就可以看到软

Windows域内时间同步

1.如何同步 域内成员服务器默认通过域内DC 域内所有域控制器都通过PDC 客户端计算机通过PDC同步 2.PDC角色 # 查询PDC服务器 netdom query pdc 3.注册表配置时间源 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters 4.组策略下发时间同步到客户端 5.域内计算机时间查看

思科路由器配合域内Radius服务器完成VPN用户身份认证

背景介绍: 公司有一个域环境,路由器Wan地址为:a.b.c.d,Lan地址为:192.168.30.1,其余服务器地址如图所示,其中VPN服务器需要2块网卡,第2块网卡的地址为172.16.0.1使用NAT转换通过192.168.30.5访问外网,给使用VPN登陆的客户端指定IP地址为10.0.0.1-10.0.0.100,为了方便管理,实现账号的单一登陆,搭建了Radius服务器,下面就来介绍如何使用思科路由器配合域内Radius服务器完成VPN用户身份认证. 路由器设置: 登陆路由器,首先

MS14-068 privilege escalation PoC: 可以让任何域内用户提升为域管理员

MS14-068 privilege escalation PoC: 可以让任何域内用户提升为域管理员 http://zone.wooyun.org/content/17102 https://www.t00ls.net/thread-28706-1-1.html https://github.com/bidord/pykek ms14-068.py Exploits MS14-680 vulnerability on an un-patched domain controler of an A