我有一个运行ispconfig的centos 6 VPS,目前状态不佳。 百胜餐厅已经无法修复,看起来我的最佳select是重新安装。
我打算备份,安装centos 7和我的所有服务器软件,重新创build帐户,并在同一台机器上恢复文件。 获得第二台机器可能是一个select,因为这个下个月耗尽,但我不知道我会得到相同的设置,因为我在我的计划中有一个额外的IP地址,我需要。
我的问题是后缀的邮件帐户 – 我以前使用过imapsync进行迁移,但在这种情况下不会起作用,因为我不会同时拥有两台服务器。 它看起来像我可以复制maildir文件和系统用户文件,但这对我来说似乎很脆弱。
另外我正在考虑从ispconfig移到vestacp。 (编辑:我坚持与ispconfig)
任何build议,这将使这更容易,将不胜感激。 如果我正在处理这个问题,请告诉我。
编辑:澄清
jornane的第一个答案是正确的,但是我不相信它解决了OP真正想要达到的目标 – 这是如何最好地处理电子邮件和帐户的迁移,而不是如何处理DNS。
通常有很多方法来处理这个任务,但是因为我们只处理一个将要通过操作系统重装的服务器。 我会理所当然地认为OP的说法是,yum不知怎的会变得无法挽回,或者如此受损,以至于修复比重新安装OS更复杂或更耗时。 我也会理所当然地认为这是您唯一可用的服务器,并且您熟悉imapsync。 我也将假设你正在使用dovecot-imapd作为你的IMAP服务器,因为postfix是一个SMTP服务器,而不是一个IMAP服务器(但是我发现是一个更广泛的使用IMAP系统后缀)。
在这种情况下,一种select是使用imapsync将您的账户备份到一系列免费的Gmail账户。 将每个账户备份到gmail(你可以同时做几个,取决于你当前的服务器有多less肌肉,以及Google最近用于IMAP的反垃圾邮件策略)。 你可以使用这个脚本:
imapsync \ --host1 your.oldserver.ext --port1 993 --user1 [email protected] \ --passfile1 /path/to/gmail_mirror.passfile1 --ssl1 \ --host2 imap.gmail.com --port2 993 --user2 [email protected] \ --passfile2 /path/to/gmail_mirror.passfile2 --ssl2 \ --useheader 'Message-Id' --skipsize \ --syncinternaldates --noauthmd5 -nofoldersizes \ --split1 100 --split2 100 \
请注意,这依赖于默认的IMAPS TCP端口993.如果您在服务器上使用的是纯文本IMAP,则应该考虑不要尽快这样做,并且您可以暂时将端口更改为143或您正在使用的任何端口。 您也可以在第一个脚本中使用localhost作为host1,在第二个脚本中也使用localhost作为host1,这取决于您的设置。 你还需要使用passfile。 有关正确的标志以及如何使用它们的更多信息,请访问: http : //imapsync.lamiral.info/OPTIONS
要将电子邮件从Google转储到新服务器,您可以执行此操作,这将适用于“所有邮件”和“发送邮件”文件夹:
imapsync \ --host1 imap.gmail.com --port1 993 --user1 [email protected] --passfile1 /path/to/gmail_mirror.passfile1 --ssl1 \ --host2 your.newserver.ext --port2 993 --user2 [email protected] --passfile2 /path/to/gmail_mirror.passfile2 --ssl2 \ --useheader 'Message-Id' --skipsize --allowsizemismatch \ --syncinternaldates --noauthmd5 -nofoldersizes\ --split1 100 --split2 100 \ --regextrans2 's/\[Gmail\]/username\@somedomain/' \ --include "All Mail|Sent Mail" --delete2 --expunge2
这种方法的优点是它破坏的可能性非常小。 因为我是在假设yum被无可挽回地损坏的情况下工作的,而且由于我对这个服务器不熟悉,所以其他组件也可能被破坏或损坏。 这种方法非常简单,为微妙的失败留下了一点空间。
还有其他的select,有其他的好处:最值得注意的是,其他备份和恢复选项将会更快,因为他们不会依赖于互联网连接。 但是,探索这些选项将需要更多关于您的环境的详细信息,例如:您的服务器实际上是否使用Dovecot来提供IMAP或其他程序? 你的服务器是否使用cPanel或Plesk这样的CMS? 你的IMAP守护进程是否有MySQL后端? 你使用系统还是虚拟用户?
请记住,邮件服务器迁移有多种方式可能很复杂。 例如,有许多不同的身份validationscheme可能会使用户和邮箱的迁移复杂化,而不是像我在此处列出的那样简单地传输他们的电子邮件。 如果要重新创build可以使用SMTP发送的用户,使用与之前的服务器相同的体系结构,则需要查看main.cf和IMAPconfiguration文件的相关部分(对于dovecot,这些将是dovecot.conf) 。
还有其他很好的答案,但是他们是相当理论的。 我认为这可能会对你有所帮助,因为我知道我已经做了很多次了, 但是在CentOS服务器上使用dovecot和sendmail,我使用mbox作为存储格式。 我知道你使用的是后缀和Maildir,对不起,我不能说明具体的光线; 我希望这仍然有用。
存储的电子邮件将在人们的主目录下,通常在~/mail ,但他们可能已经configuration了其他的东西。 只要你把所有的主目录,并恢复与匹配的 UID / GIDs,存储的电子邮件应该没问题。
未读/未完成的电子邮件位于/var/spool/mail 。 再次,采取整个目录,恢复如上,一切正常。
如果我有任何具体的build议,那就是
转储一切。 不要select性。 备份一切 ,检查它是否可读,并保持安全。 VPS很小,所以要保留好几个副本(也就是说,不要试图从你唯一的一个tar c恢复,所以当你不小心键入tar c而不是tar t ,覆盖备份就是一场灾难)。 你永远不知道你会find什么奇怪的文件,你需要恢复,使移动后的工作。
现在不是开始改变事物的时候了 。 你可能梦想要合理化你的UID,或者改变邮件存储格式(或者改变你的控制面板,但是我们不会谈论这个,因为这会让你的问题成为SF的焦点 ),但这不是一个好时机改变任何事情 。 因为你在原地做这个,所以你没有安全网。 这不是一个聪明的时机。
完美的做法使完美 。 这是一个VPS。 他们几乎没有成本。 亚马逊会从字面上让你有一个免费的。 当子弹不飞行时,试试移动,磨练你的技能。 互联网上的人告诉你这是一件好事,但这是你的文件, 你的用户, 你的数据。 确实很好!
TL; DR电子邮件服务器会将邮件保留在队列中几天,如果无法传送。 通常在迁移过程中,您必须更改DNSlogging,但由于您使用的是相同的服务器(相同的IP),因此不需要这些logging。 你可以简单地closures服务器,安装新的服务器,而且你很好。 唯一重要的是在迁移过程中不应该接受传入的邮件。
这是你应该做的:
chown 。 请记住,某些邮件服务器要求Maildir属于mail组(使用chgrp )。 当有人在工作时试图发送电子邮件时,他们会被防火墙阻止,并在稍后再试。 因此,所有延迟的电子邮件都要交付一段时间,需要一段时间。 所以警告你的客户他们的邮件可能会被延迟。