如何将一小部分用户从一台邮件服务器迁移到另一台

这是我的情况:

我有一个邮件服务器,我们将其称为mail1.site.com。 而我想要做的是build立一个新的邮件服务器mail2.site.com,然后把所有的用户迁移过来。 这两个设置是Postfix + Dovecot。 通常情况下,如果只是我,我会build立新的服务器,并进入我的邮件客户端,并拖动我的消息,让它移动我的消息。 但是,如果我有一小部分用户,我不能指望他们都足够精明,为他们的帐户中的每个文件夹做这个。

有没有人有如何迁移的build议? 将/var/vmail所有数千个电子邮件解压后安全地解决这个问题是否安全? 我接受build议。

是否有可能在服务停机的时候将这一切全部迁移?
如果是,你可以tar / untar。 但更好的方法是在运行rsync邮箱,并在服务停机时,你再次做rsync更新。

看看邮件队列,这应该是空的。 在停机时间,smtp不能接受任何邮件。 但通常你有不同的情况。 邮件队列保留不能发送的电子邮件。 你可以查看这封电子邮件。 你决定你离开这封电子邮件,或迁移到新的服务器。 我在这里find了程序: http : //abhijit.name/articles/configuration/moving_or_restoring_postfix_queue.html

dynamic复制邮箱有一个优点。 你可以静静地testing指定的用户,一切正常与否。 你会看到移动邮箱或不。

仔细阅读rsync手册。 testing一个邮箱,它只同步所需的信息,或重写所有。 使用适当的选项。

更糟糕的情况是,当你不能做一些故障服务,那么你应该迁移用户的邮箱用户。 那么你应该为两个服务器准备别名。 两者都应该接受这两个名称的电子邮件,但内部redirect电子邮件适当的服务器使用别名的行为。 当您要迁移经纬度用户时,您应该只将MX指向新的服务器,并等待直到旧的邮件队列将清空,然后closures它。

如果你从来没有这样做过,最好对任何带有一些邮箱的虚拟副本进行testing。 那么你会增加机会,没有人会访问你配备锋利的叉子和燃烧的火炬:)

Dovecot有一个方便的工具叫做dsync (wiki),旨在同步两个dovecot实例。 Maildir从一台服务器上复制到另一台服务器。 收到,发送,垃圾邮件,垃圾 – 一切都被复制。 主要优点是dsync可以执行增量式和双向复制。 初始复制完成后,下一次运行只复制新的/已更改的文件。 发生更改的位置并不重要 – dsync确定哪个实例是最新的。