在 CentOS 上迁移邮件服务器,常见场景是把一台老服务器上的邮件系统(如 Postfix + Dovecot + MySQL/邮件文件)迁移到新服务器。下面给你一套通用、可落地的迁移方案,你可以根据实际组件调整。
先搞清楚老服务器用了什么:
rpm -qa | grep -E "postfix|dovecot|sendmail|exim"
systemctl stop postfix dovecot
如果是 Maildir(最常见):
tar czf maildir.tar.gz /var/vmail
如果是 系统用户 mbox:
tar czf mail.tar.gz /var/spool/mail /home
tar czf mail-config.tar.gz /etc/postfix /etc/dovecot
mysqldump -u root -p maildb > maildb.sql
getent passwd | grep vmail > users.txt
yum install postfix dovecot mariadb
scp mail-config.tar.gz root@new-server:/tmp
tar xzf mail-config.tar.gz -C /
tar xzf maildir.tar.gz -C /
chown -R vmail:vmail /var/vmail
mysql -u root -p maildb < maildb.sql
将域名 MX 指向新服务器 IP
(建议 TTL 提前调小,如 300 秒)
/etc/opendkim/keyssystemctl start postfix dovecot
echo "test" | mail -s "test" user@example.com
tail -f /var/log/maillog
rsync 定期同步邮件rsync -avz /var/vmail/ new:/var/vmail/
如果你能告诉我:
我可以给你更精确的迁移命令。