Mist Network
关注频道
客服

如何备份 VPS:文件、数据库与异地副本

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

更新于: 阅读约 2 分钟
VPS 备份——把文件和数据库导出从服务器复制到外部存储

要备份 VPS,请定期把三样东西复制到服务器之外:网站和应用文件、数据库导出文件,以及配置。副本要存放在 VPS 以外的地方,加密保存,保留多个版本,并不时测试恢复。存放在同一台服务器上的备份不算真正的备份。

本指南说明需要包含哪些内容,给出 Ubuntu 或 Debian 上的简单命令,并介绍自动化、存储和恢复测试。

需要备份什么

内容常见位置方法
网站和应用文件/var/www、/home、/srv打包或同步目录
数据库MySQL / MariaDB、PostgreSQL先导出为文件,再复制导出文件
配置/etc(Web 服务器、PHP、cron、防火墙)打包相关目录
SSL 证书/etc/letsencrypt包含在配置备份中
邮件(如自建)邮件目录打包或同步
要点:绝不要直接复制正在运行的数据库的数据目录。先导出成文件,才能保证备份一致可用。

分步操作:简单的每日备份

  1. 连接服务器——通过 SSH 登录(参见如何通过 SSH 连接 VPS)。
  2. 导出数据库——MySQL/MariaDB:mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gz。
  3. 打包文件和配置——tar -czf /root/backup/files-$(date +%F).tar.gz /var/www /etc。
  4. 复制到服务器之外——例如 rsync -az /root/backup/ user@backup-host:/backups/myvps/,或使用 restic、BorgBackup 进行加密、带版本的备份。
  5. 实现自动化——把命令写进脚本,用 cron 每晚运行(crontab -e)。
  6. 定期清理——删除几天前的本地导出文件,避免磁盘被占满。
提示: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?
活跃网站和商店每天备份,并在每次重大更新或变更前备份。保留多个版本。
如何确认备份可用?
不时把备份恢复到测试服务器,检查网站和数据库是否正常。

相关文章

最新文章

全部文章
Mist NetworkMist Network