温馨提示×

怎样迁移Ubuntu邮件服务器

小樊
46
2026-07-05 12:52:01
栏目: 云计算

迁移 Ubuntu 邮件服务器是一项高风险、强依赖的操作,涉及 邮件数据、用户账号、域名解析、SSL 证书、反垃圾配置 等。下面给你一套通用、可落地的迁移流程,适用于常见组合(Postfix + Dovecot + MySQL/MariaDB + Roundcube / Maildir)。


一、迁移前准备

1️⃣ 明确现有环境

先确认你当前服务器使用哪些组件:

dpkg -l | grep -E "postfix|dovecot|mysql|mariadb|roundcube"

常见组合:

  • MTA:Postfix
  • IMAP/POP3:Dovecot
  • 用户存储:MySQL / MariaDB / LDAP / 系统用户
  • Webmail:Roundcube
  • 邮箱格式:Maildir(最常见)

2️⃣ 新服务器准备

在新 Ubuntu 服务器上:

  • 相同版本(推荐)
  • 相同软件版本(Postfix / Dovecot)
  • 不要启用邮件服务
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-mysql

二、迁移核心步骤(推荐顺序)


✅ 1. 迁移用户和域名配置

方式 A:系统用户(/etc/passwd)

# 旧服务器
getent passwd > users.txt
getent shadow > shadow.txt
getent group > groups.txt

⚠️ 不推荐直接覆盖,建议只迁移邮件相关用户。


方式 B:虚拟用户(数据库)

最常见、最安全

导出数据库

mysqldump -u root -p mailserver > mailserver.sql

新服务器导入

mysql -u root -p mailserver < mailserver.sql

✅ 2. 迁移邮件数据(最重要)

邮箱目录(Maildir)

默认路径通常是:

/var/mail/vhosts/
/home/vmail/

使用 rsync(推荐)

在新服务器执行:

rsync -avz --delete \
  root@old-server:/var/mail/vhosts/ \
  /var/mail/vhosts/

✅ 保留权限、时间戳
✅ 建议多次同步,减少停机时间


✅ 3. 迁移 Postfix 配置

rsync -avz root@old:/etc/postfix/ /etc/postfix/

重点检查:

  • main.cf
  • master.cf
  • virtual_*
  • transport_maps

✅ 4. 迁移 Dovecot 配置

rsync -avz root@old:/etc/dovecot/ /etc/dovecot/

重点:

  • dovecot.conf
  • conf.d/
  • mail_location
  • ssl_cert / ssl_key

✅ 5. 迁移 SSL 证书

rsync -avz root@old:/etc/letsencrypt/ /etc/letsencrypt/

或新服务器重新申请:

certbot certonly --standalone -d mail.example.com

✅ 6. Webmail(Roundcube)

迁移数据库

mysqldump roundcube > roundcube.sql

迁移配置

rsync -avz root@old:/etc/roundcube/ /etc/roundcube/
rsync -avz root@old:/var/lib/roundcube/ /var/lib/roundcube/

三、切换 DNS(关键)

1️⃣ 降低 TTL(提前 24–48 小时)

MX 记录
mail.example.com  A

2️⃣ 切换后

dig MX example.com

四、迁移期间不停服技巧(高级)

✅ 双写模式

  1. 旧服务器继续收信
  2. 新服务器同时运行
  3. 最后 rsync 最后一次差异

五、启动服务 & 检查

systemctl restart postfix
systemctl restart dovecot
systemctl restart apache2 nginx

检查端口:

ss -lntp | grep -E "25|110|143|465|587|993"

六、常见坑位

问题 解决方法
权限错误 chown -R vmail:vmail /var/mail
无法登录 检查 Dovecot 用户数据库
SSL 报错 证书路径、权限
邮件退回 MX 未生效
发信被拒 SPF / DKIM / DMARC

七、迁移检查清单 ✅

  • [ ] 用户数据
  • [ ] 邮件数据
  • [ ] Postfix / Dovecot 配置
  • [ ] SSL 证书
  • [ ] DNS 切换
  • [ ] SPF / DKIM / DMARC
  • [ ] 日志无报错

八、我可以继续帮你

你可以直接告诉我:

  1. ✅ Ubuntu 版本
  2. ✅ 使用 虚拟用户 or 系统用户
  3. ✅ 邮件存储格式(Maildir / mbox)
  4. ✅ 是否使用 DKIM / ClamAV / SpamAssassin

我可以给你 按你环境定制的迁移命令清单

0