VPS 备份与快照指南

作者 ONIE 工程团队 · 更新于 2026年11月12日 · 阅读需 1 分钟

服务器可能因为错误的更新、误操作、恶意软件或硬件故障而出问题。完善的方案应当结合快照、备份以及经过测试的恢复流程。在 ONIE 平台上,胡志明市的云服务器支持快照和备份功能,你还可以额外添加 Block Storage 用于存放数据。

快照与备份的对比

快照备份
定义某一时刻磁盘的保存状态服务器或其数据的独立副本
适用场景升级或修改配置前快速回滚从丢失、损坏或误删中恢复
存放位置靠近原服务器独立的存储设备
速度创建和恢复都很快较慢,取决于数据大小

两者配合使用:风险操作前做快照,其他情况则定期做备份。

3-2-1 规则

重要数据至少保留 3 份副本,存放在 2 种不同类型的存储介质上,并且有 1 份副本存放在异地。仅在同一台服务器上做快照是不够的。

备份文件

rsync 只复制有变化的内容:

rsync -aH --delete /var/www/ backup@backup-host:/srv/backups/www/

restic 可以将加密且去重的备份写入多个目标:

sudo apt install -y restic
restic -r sftp:backup@backup-host:/srv/restic init
restic -r sftp:backup@backup-host:/srv/restic backup /var/www /etc
restic -r sftp:backup@backup-host:/srv/restic forget --keep-daily 7 --keep-weekly 4 --prune

备份数据库

与直接复制正在运行的数据文件不同,应使用转储(dump)来备份数据库:

mysqldump --single-transaction --routines -u root wordpress | gzip > /var/backups/wordpress-$(date +%F).sql.gz

PostgreSQL 请使用 pg_dump。

自动化执行

使用 cron 或 systemd timer 定时执行备份,并设置保留策略,自动删除旧副本:

sudo crontab -e
# every day at 02:30
30 2 * * * /usr/local/bin/backup.sh

测试恢复

未经恢复测试的备份只是一种猜测。每月一次,将备份恢复到备用服务器,检查网站和数据是否正常工作。把步骤写下来,方便团队中的任何人都能执行。

重大变更前

先创建快照,再进行变更,测试通过后,确认无误时删除快照。这一做法与安全的 SSH 配置搭配效果很好,同样的习惯也适用于升级 WordPress 站点。

常见问题

应该多久备份一次?

对于经常变化的网站和数据库,每天备份较为常见。如果丢失一天的数据会造成严重影响,请增加备份频率。

快照会被收费吗?

快照和备份按其占用的空间计费。请查看服务的定价页面了解当前费率。

备份应该存放在哪里?

不要只存放在同一台服务器上。使用其他位置或其他服务商,这样单点故障就不会删除所有副本。

参考资料与延伸阅读

更多 VPS 指南