用 rsync 做 VPS 文件增量备份

先预演源目录和目标目录,再用 rsync 同步文件。数据库先导出,历史版本另外保留,慎用 --delete。

迁移网站文件,或备份到另一台服务器,可以用 rsync 同步变化。数据库要先用对应工具导出,再同步导出文件和附件;直接同步正在使用的数据库目录不等于获得一致备份。

先确认源和目标

下面以本机 /srv/site/ 同步到备份服务器 backup.example.com 的 /srv/backups/site/ 为例。域名、账号和目录都要替换,先确认 SSH 能用,目标账号有该目录的写权限。

源目录末尾的 / 有意义:/srv/site/ 表示复制目录里的内容;没有末尾斜杠时,目录本身也参与目标布局。第一次使用先观察预演输出,别在生产目录之间试错。

rsync -a --dry-run --itemize-changes \
  /srv/site/ backupuser@backup.example.com:/srv/backups/site/

确认目标正确后移除 --dry-run:

rsync -a --itemize-changes \
  /srv/site/ backupuser@backup.example.com:/srv/backups/site/

不急着加 --delete

--delete 会在相关范围中删除目标端多余文件,源路径选错、源目录为空或挂载失效时,可能把目标副本也处理掉。只有明确需要镜像同步,并已确认源、目标、排除规则和历史副本后,再评估它。

增量同步不是版本保存。源文件被错误修改,下一轮也可能把错误同步过去;重要数据仍需独立历史备份。同步成功不等于能恢复全部业务。

保留数据库、配置和权限

网站图片、程序配置与数据库导出分别核对。环境文件可能包含密码,目标目录不应公开读取。-a 的属性保存仍受目标文件系统、用户权限和平台支持影响,恢复时检查应用所需的所有者及权限。

第一次同步后抽查文件,核对大小或哈希;迁移再做一次最终同步并协调业务写入。恢复到独立位置,检查网站与数据库,别直接覆盖仍在工作的站点来验证备份。

备份机需要多少空间

已有独立目标可以先验证权限、容量和同步结果。需要新增备份机器时,按存储 VPS 的容量与用途比较,连同下载、恢复空间和历史副本一起计算;只有一个同步副本时,不能把它当成可回到多个历史时间点的备份。

为 rsync 新增目标机,先看磁盘容量、SSH 权限和流量统计方向,备份不需要照业务机购买同等 CPU。可以比较 雨云 RCS 的磁盘配置,选择与源机不同的实际位置;需要数据盘组合时,再看 ECS 的计算与云盘。保留版本与恢复临时空间要计入磁盘,出站下载费用也算进长期成本。