温馨提示×

怎样备份ubuntu邮件服务器

小樊
53
2026-10-04 23:27:01
栏目: 云计算

备份 Ubuntu 邮件服务器通常涉及 邮件数据、用户账户、配置和数据库 等几部分。下面以常见组合(Postfix + Dovecot + MySQL/MariaDB 或本地用户)为例,给你一套通用、可落地的备份方案。


一、需要备份的内容

1. 邮件数据(最重要)

邮件通常存储在这些位置:

  • Dovecot(Maildir 格式)
    /var/mail/
    /home/*/Maildir/
    /var/vmail/        # 虚拟用户常见目录
    
  • Postfix 队列(一般不备份,除非故障恢复)
    /var/spool/postfix/
    

✅ 推荐备份 Maildir 目录


2. 配置文件

/etc/postfix/
/etc/dovecot/
/etc/aliases
/etc/mailname

3. 用户与认证数据

  • 本地用户:
    /etc/passwd
    /etc/shadow
    /etc/group
    
  • 虚拟用户(数据库):
    • MySQL / MariaDB 中的邮件用户表

4. 数据库(如果使用虚拟域)

mysqldump -u root -p --all-databases > maildb.sql

二、推荐备份方式

方案 1:rsync 备份(简单可靠)

适合单台服务器

rsync -aAX --delete \
  /var/vmail/ \
  /etc/postfix/ \
  /etc/dovecot/ \
  /backup/mailserver/

可加入 cron:

0 3 * * * rsync -aAX /var/vmail/ /backup/mailserver/vmail/

方案 2:tar 打包备份(适合离线)

tar czf mail-backup-$(date +%F).tar.gz \
  /var/vmail \
  /etc/postfix \
  /etc/dovecot \
  /etc/aliases

方案 3:使用专用工具(推荐生产环境)

  • BorgBackup(增量、加密)
  • Restic
  • Duplicity

示例(Borg):

borg create /backup/repo::mail-{now} \
  /var/vmail /etc/postfix /etc/dovecot

三、数据库备份(虚拟用户)

mysqldump -u root -p maildb > maildb-$(date +%F).sql

或 MariaDB:

mariadb-dump -u root -p maildb > maildb.sql

四、恢复示例

恢复邮件

rsync -a /backup/mailserver/vmail/ /var/vmail/
chown -R vmail:vmail /var/vmail

恢复配置

cp -r /backup/mailserver/postfix /etc/
cp -r /backup/mailserver/dovecot /etc/

恢复数据库

mysql -u root -p maildb < maildb.sql

五、注意事项

✅ 备份时避免邮件写入中断

  • 可在低峰期
  • 或使用 LVM 快照

✅ 定期测试恢复
✅ 备份到异地(NAS / 云)


六、如果你愿意

告诉我:

  • 用的是 Postfix + Dovecot + MySQL 还是本地用户?
  • 邮件存 Maildir 还是 mbox?
  • 是否有 多台服务器 / 负载均衡?

我可以直接给你一套 可复制的备份脚本。

0 踩