恢复 Debian 上的邮件数据要看你用的是什么邮件系统、数据损坏的原因以及是否有备份。下面按常见场景给你一个系统性的恢复思路。
Debian 常见邮件系统:
先确认:
dpkg -l | grep -E 'postfix|exim|dovecot'
查看存储位置(Dovecot 常见):
grep mail_location /etc/dovecot/conf.d/*.conf
常见路径:
/var/mail//home/*/Maildir//var/vmail/systemctl stop dovecot
systemctl stop postfix
apt install extundelete
恢复目录:
extundelete /dev/sdX --restore-directory /var/vmail
恢复后文件在:
RECOVERED_FILES/
⚠️ 如果是 SSD / TRIM 已启用,成功率很低。
Maildir 结构:
Maildir/
├── new/
├── cur/
├── tmp/
恢复方法:
如果没有备份,可尝试:
testdisk
或
photorec
⚠️ photorec 恢复的是乱序邮件,需要手动整理。
mbox 是单个大文件,如果损坏:
cp /var/mail/user user.mbox.bak
apt install procmail
formail -s < user.mbox > user_fixed.mbox
或使用 mutt:
mutt -f user.mbox
如果你用的是 iRedMail / Roundcube:
mysql -u root -p mail < mail_backup.sql
/var/vmail/
rsync -av /backup/var/vmail/ /var/vmail/
chown -R vmail:vmail /var/vmail
lvconvert --merge /dev/vg0/snap
chown -R vmail:vmail /var/vmail
chmod -R 700 /var/vmail
重启服务:
systemctl restart dovecot
systemctl restart postfix
dd if=/dev/sdX of=/mnt/usb/image.img bs=4M
为了给你精确方案,请告诉我:
我可以直接给你一步一步可执行的命令。