1. 备份现有数据(恢复前必备步骤)
在进行任何恢复操作前,务必备份所有关键数据(邮件、配置文件、用户数据),避免恢复过程中发生二次损坏。可使用tar
工具打包备份(如sudo tar -cvpzf /mail_backup_$(date +%F).tgz /etc/postfix /etc/dovecot /var/mail /var/spool/postfix
),或通过rsync
同步到远程存储。
2. 检查日志定位故障根源
通过日志分析具体故障原因(如服务崩溃、配置错误、权限问题)。常用命令:
sudo tail -n 100 /var/log/mail.log
(或journalctl -u postfix
);sudo tail -n 100 /var/log/dovecot.log
;sudo tail -f /var/log/mail.log
。3. 停止相关邮件服务
为防止恢复过程中数据进一步损坏,需停止Postfix(SMTP服务)和Dovecot(IMAP/SMTP服务):
sudo systemctl stop postfix && sudo systemctl stop dovecot
。
4. 恢复配置文件
若有最近的配置备份(如/etc/postfix/main.cf.bak
、/etc/dovecot/dovecot.conf.bak
),直接覆盖原文件;若无备份,需手动修复:
sudo apt-get install --reinstall postfix dovecot-core
;main.cf
需设置mydomain
、mydestination
,Dovecot的dovecot.conf
需配置mail_location
)。5. 恢复邮件数据
tar
解压至原路径:sudo tar -xvpzf /mail_backup_$(date +%F).tgz -C /
,重点恢复/var/mail/
下的用户邮件目录);extundelete
,适用于Ext3/Ext4文件系统):sudo apt-get install extundelete && sudo extundelete /dev/sdXn --restore-directory /var/mail
(需卸载对应分区或从Live CD启动)。6. 重启邮件服务并验证
恢复完成后,启动服务并检查状态:
sudo systemctl start postfix && sudo systemctl start dovecot
;
验证服务是否运行正常:sudo systemctl status postfix
(应显示“active (running)”)、sudo systemctl status dovecot
;
测试邮件收发:
echo "Test body" | mail -s "Test Subject" recipient@example.com
;mail
命令)。7. 监控后续运行状态
恢复后持续监控日志(tail -f /var/log/mail.log
),观察是否有新错误;检查邮件队列(postqueue -p
),清理损坏邮件(postsuper -d ALL
,谨慎使用);确保防火墙开放必要端口(sudo ufw allow 25,465,587/tcp
)。