如何备份 VPS:文件、数据库与异地副本
VPS 给了您完全的控制权,也意味着数据安全完全由您负责。本文介绍要备份什么、如何用几条命令实现自动化、副本存放在哪里,以及如何确认备份真的能恢复。

要备份 VPS,请定期把三样东西复制到服务器之外:网站和应用文件、数据库导出文件,以及配置。副本要存放在 VPS 以外的地方,加密保存,保留多个版本,并不时测试恢复。存放在同一台服务器上的备份不算真正的备份。
本指南说明需要包含哪些内容,给出 Ubuntu 或 Debian 上的简单命令,并介绍自动化、存储和恢复测试。
需要备份什么
| 内容 | 常见位置 | 方法 |
|---|---|---|
| 网站和应用文件 | /var/www、/home、/srv | 打包或同步目录 |
| 数据库 | MySQL / MariaDB、PostgreSQL | 先导出为文件,再复制导出文件 |
| 配置 | /etc(Web 服务器、PHP、cron、防火墙) | 打包相关目录 |
| SSL 证书 | /etc/letsencrypt | 包含在配置备份中 |
| 邮件(如自建) | 邮件目录 | 打包或同步 |
要点:绝不要直接复制正在运行的数据库的数据目录。先导出成文件,才能保证备份一致可用。
分步操作:简单的每日备份
- 连接服务器——通过 SSH 登录(参见如何通过 SSH 连接 VPS)。
- 导出数据库——MySQL/MariaDB:
mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gz。 - 打包文件和配置——
tar -czf /root/backup/files-$(date +%F).tar.gz /var/www /etc。 - 复制到服务器之外——例如
rsync -az /root/backup/ user@backup-host:/backups/myvps/,或使用 restic、BorgBackup 进行加密、带版本的备份。 - 实现自动化——把命令写进脚本,用 cron 每晚运行(
crontab -e)。 - 定期清理——删除几天前的本地导出文件,避免磁盘被占满。
提示:restic 和 BorgBackup 会自动加密、去重并保留版本,大型网站的每晚备份只需上传有变化的部分。
备份存在哪里:3-2-1 原则
- 3 份副本——线上服务器加两份备份。
- 2 种存储介质——例如另一台服务器加对象存储。
- 1 份异地——放在另一个机房或另一家服务商。
备份存储请使用单独的账号或凭据,这样即使有人入侵了 VPS,也无法连带删除备份。
备份频率与保留时长
- 每天——适用于活跃网站、商店以及任何包含用户数据的系统。
- 每次重大变更前——更新、迁移或安装新插件之前。
- 保留多个版本——例如 7 份每日、4 份每周和几份每月备份。问题不一定当天就能发现。
测试恢复
备份只有能恢复才有用。每年几次把文件和数据库恢复到测试 VPS,检查网站能否正常运行,并记录耗时——这就是您真实的恢复时间。
重要:从面板重装操作系统会清空磁盘。在重装、调整配置或删除 VPS 之前,请确认服务器之外已有最新备份。
备份是安全的一部分
在遭到入侵、更新出错或误删之后,备份是最后一道防线。请把它与VPS 安全检查清单中的其他措施结合起来;如果使用 WordPress,请按在 VPS 上安装 WordPress中所述,同时备份文件和数据库。
用 mistREG 获得完全可控的 VPS
mistREG 在欧盟提供基于 NVMe SSD 和 AMD EPYC 的 KVM VPS,拥有完整 root 权限,您可以使用任何备份工具。查看 VPS 套餐、我们的服务,或在 Telegram @mistnetwork 联系我们。
常见问题
VPS 上需要备份什么?
网站和应用文件、数据库导出、/etc 中的配置(包括 SSL 证书),以及自建的邮件。
可以直接复制数据库目录吗?
不可以。复制正在运行的数据库文件可能得到损坏的备份。请先用 mysqldump 或 pg_dump 导出,再复制导出文件。
VPS 备份应存放在哪里?
存放在服务器之外,最好遵循 3-2-1 原则:三份副本、两种存储介质、一份放在其他地点或服务商。
多久备份一次 VPS?
活跃网站和商店每天备份,并在每次重大更新或变更前备份。保留多个版本。
如何确认备份可用?
不时把备份恢复到测试服务器,检查网站和数据库是否正常。


