首页 › 文章 › VPS备份策略

VPS备份策略:3-2-1规则与最佳工具详解

更新时间:2026年9月25日 · 阅读约9分钟 · 分类:VPS
VPS备份策略 3-2-1规则 Linux服务器

目录

  1. 为什么需要明确的备份策略
  2. 什么是3-2-1备份规则
  3. 备份类型:完整、增量、差异备份
  4. 推荐的VPS备份工具
  5. 使用rsync + cron设置自动备份
  6. BorgBackup:VPS去重备份工具
  7. 备份频率最佳实践
  8. 恢复测试:大多数人跳过的关键步骤
  9. 常见问题
  10. 总结
核心要点:好的备份不仅仅是把文件存在某处——需要完整的策略:多个副本、多个位置、多种介质类型,以及在灾难发生前实际测试恢复。

1. 为什么需要明确的备份策略

VPS上的数据丢失可能来自多种原因,有些可以预防,有些无法避免:硬件故障、勒索软件、人为错误(误删文件)或升级失败导致的系统损坏。

数据安全研究的一些警示数据:

AsiaGB VPS提供每月两次自动备份(每月1日和15日)作为服务商级别的安全网。但对于每天都在变化的数据,您还需要自己制定额外的备份策略。

2. 什么是3-2-1备份规则

3-2-1规则是全球通用的行业标准备份方法:

数字含义示例
3数据保存3个副本原始数据 + 本地备份 + 远程备份
2使用2种不同的存储介质SSD(VPS)+ 对象存储(S3/R2)
11个副本存放在异地Cloudflare R2、Backblaze B2或另一台VPS
为什么3-2-1有效:3个副本同时失效的概率几乎为零。即使数据中心发生火灾或遭受勒索软件攻击,异地副本仍然完好无损。

3-2-1规则在VPS实践中的应用

3. 备份类型:完整、增量、差异备份

类型工作方式存储空间恢复速度适用场景
完整备份每次复制所有文件大快每周备份、初始基线
增量备份仅复制上次备份后的变更很小慢(需要链式还原)每日备份
差异备份复制上次完整备份后的所有变更中等中等需要快速恢复时
大多数VPS的建议:每周完整备份 + 每日增量备份是最佳平衡点。BorgBackup等工具会自动管理链式操作并内置去重功能。

4. 推荐的VPS备份工具

工具优势适用场景难度
rsyncLinux内置,无需安装,支持SSH初学者,简单备份⭐ 简单
BorgBackup去重、加密、压缩生产VPS,注重存储效率⭐⭐ 中等
Restic原生支持S3/B2/R2,快速,跨平台云存储后端⭐⭐ 中等
Duplicati图形界面,加密,支持云端偏好可视化界面的用户⭐ 简单
mysqldump / pg_dump数据库内置工具专门的数据库备份⭐ 简单

5. 使用rsync + cron设置自动备份

rsync是最佳起点——无需依赖,简单易懂。

第一步:设置SSH密钥认证

# 在VPS上创建密钥对
ssh-keygen -t ed25519 -C "backup-key" -f ~/.ssh/backup_key -N ""

# 将公钥复制到备份服务器
ssh-copy-id -i ~/.ssh/backup_key.pub user@backup-server

第二步:创建备份脚本

#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_USER="backup"
BACKUP_HOST="backup-server.example.com"
BACKUP_PATH="/backups/myvps/$DATE"
LOG="/var/log/backup.log"

rsync -avz --delete \
  -e "ssh -i /root/.ssh/backup_key" \
  /var/www/ /etc/ /home/ \
  $BACKUP_USER@$BACKUP_HOST:$BACKUP_PATH/ >> $LOG 2>&1

第三步:用cron设置自动执行

# crontab -e
# 每晚凌晨2点运行
0 2 * * * /usr/local/bin/vps-backup.sh

6. BorgBackup:VPS去重备份工具

BorgBackup非常适合需要长期保留备份历史但不希望存储成本过高的VPS。其去重系统只存储相同数据一次,通常可节省40-60%的存储空间。

# 安装
apt install borgbackup -y

# 初始化仓库(仅一次)
borg init --encryption=repokey user@backup-server:/backups/borg-repo

# 创建备份
borg create --stats --progress \
  user@backup-server:/backups/borg-repo::$(date +%Y-%m-%d) \
  /var/www /etc /home

# 自动清理旧存档(保留7天日/4周/6月)
borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \
  user@backup-server:/backups/borg-repo

7. 备份频率最佳实践

数据类型建议频率最佳方法
数据库(MySQL/PostgreSQL)每4-6小时或每天mysqldump + cron
文件上传/用户内容每天rsync增量或Restic
配置文件(/etc)每次修改前 + 每周git + rsync
应用程序代码每次部署Git仓库是主要备份
系统快照每周服务商VPS快照
⚠️ 数据库备份警告:对于MySQL InnoDB,始终使用 mysqldump --single-transaction 获取一致的无锁快照。切勿在MySQL运行时直接复制.ibd文件。

8. 恢复测试:大多数人跳过的关键步骤

拥有备份但从不测试恢复,就像购买保险却从未阅读条款——直到灾难发生才知道是否真的有效。

每3个月的恢复测试清单

RTO与RPO:明确您的RTO(恢复时间目标——需要多快恢复上线?)和RPO(恢复点目标——可接受的最大数据丢失量?),并据此设计备份计划。

9. 常见问题

Q: AsiaGB VPS已包含自动备份,我还需要自己做备份吗?
AsiaGB提供每月两次备份(1日和15日)作为服务商级别的灾难恢复保障。如果您的数据每天都在变化(电商、博客、数据库),建议自行设置每日备份,将RPO控制在24小时以内。
Q: 备份应该保留多久?
通常建议:每日备份保留7天,每周备份保留4周,每月备份保留6-12个月。对于受监管的数据(财务、医疗),保留要求可能是5-7年。
Q: 备份到云存储(S3/R2)安全吗?
如果在上传前加密,非常安全。BorgBackup和Restic都内置客户端加密——数据在离开VPS之前就已加密,云存储提供商无法读取内容。
Q: 可以在数据库运行时进行备份而不损坏数据吗?
可以。对于MySQL InnoDB,使用 mysqldump --single-transaction 可获得一致的无锁快照。对于PostgreSQL,pg_dump 天然安全。两者都可在生产数据库运行时安全备份。
Q: Restic和BorgBackup哪个更好?
Restic更适合直接备份到云存储(S3、R2、B2),支持多客户端并发。BorgBackup在基于SSH的备份场景中表现出色,对相似数据集的去重效率更高。两者都提供加密和压缩功能。

总结:完整的VPS备份策略

准备好使用可靠的VPS了吗?
AsiaGB VPS提供泰国和新加坡VPS,配备每月两次自动备份和快速SSD存储。

查看所有VPS方案