在正在运行的服务器上安全移动 Maildir

在正在运行的服务器上安全移动 Maildir

我想在 postfix 和 courier imap 守护进程仍在运行时将一些邮箱目录移动到新磁盘。

问题是,如果在移动文件时邮箱收到了新邮件,会发生什么情况?安全吗?

谢谢!

答案1

如果您正在使用 Mailbox 文件,请不要这样做。如果您正在使用 Maildir,您至少可以在不关闭服务的情况下完成部分工作。

每封发送的电子邮件和每次 IMAP 访问都会更改邮箱文件。最终可能会出现文件损坏的情况。

您能做的最好的事情就是关闭 IMAP 和本地投递,同时仍允许 Postfix 对收到的邮件进行排队。然后,一旦移动完成,重新打开本地投递,所有排队的邮件都会被投递。

答案2

不,这并不安全。

声明服务窗口并安排停机时间。您的辅助 MX 将缓存传入邮件,如果您安排好维护窗口,您的用户甚至可以在几个小时内不使用邮件。

使用rsync将现有邮件池复制到新磁盘并计算第二次运行需要多长时间来确定所需的停机时间。例如,如果您的增量 rsync 运行需要 4 小时,则需要 5 小时的计划停机时间。在停机开始前 5-6 小时再次启动 rsync。如果它在维护窗口实际开始之前没有完成,那就不行,需要重新安排。

如果是,则开始定期维护

  • 暂停并禁用接收邮件和 IMAP 的自动重启
  • 可能进入单用户模式
  • 再次运行 rsync
  • 更改挂载点
  • 重启
  • 检查新磁盘是否正确安装
  • 再次启用接收电子邮件和 IMAP
  • 重启
  • 宣布成功,打电话给你的经理后前往酒吧或回家

相关内容