用 rsync 实现安全高效的增量备份:从本地同步到远程容灾

举报
yd_214683010 发表于 2026/11/09 10:17:51 2026/11/09
【摘要】 备份最怕两种失败:一种是从来没备过,磁盘一坏才后悔;另一种是备了,却因为命令写错把源目录删空。rsync 是 Linux 上最常用的增量同步工具,用对了既省流量又安全,值得花十分钟把它彻底弄明白。先看最常用的一行命令:`rsync -av --delete 源目录/ 目标目录/`。其中 `-a` 是归档模式,保留权限、时间戳、属主和符号链接;`-v` 输出过程;`--delete` 让目标目...

备份最怕两种失败:一种是从来没备过,磁盘一坏才后悔;另一种是备了,却因为命令写错把源目录删空。rsync 是 Linux 上最常用的增量同步工具,用对了既省流量又安全,值得花十分钟把它彻底弄明白。

先看最常用的一行命令:`rsync -av --delete 源目录/ 目标目录/`。其中 `-a` 是归档模式,保留权限、时间戳、属主和符号链接;`-v` 输出过程;`--delete` 让目标目录跟源目录保持一致,删掉目标端多余的文件。这里最容易踩的坑是源目录末尾的斜杠:`源目录/` 表示同步目录里的内容,`源目录`(无斜杠)则是把整个目录搬过去,差一个字符结果完全不同。第一次用建议先加 `-n`(`--dry-run`)演练一遍,确认要传、要删的文件清单无误再真正执行。

rsync 之所以叫增量备份,是因为它不会每次都全量复制。它先比较源和目标的文件大小与修改时间,相同的直接跳过;对内容变化的大文件,只传输变化的数据块。第一次同步是全量,之后每天只传改动的部分,备份几百 GB 的工作目录也只要几分钟。配合 `--link-dest` 还能做出低成本的历史快照:每次备份用硬链接引用未变化的文件,只为变化的文件存一份新副本,磁盘占用几乎不增长,却能随时回到任意一天的状态。

同步到远程服务器同样简单:`rsync -avz -e ssh 源目录/ 用户@服务器:/备份目录/`。`-z` 开启传输压缩,`-e ssh` 走 SSH 加密通道,认证直接用已有的 SSH 密钥,不用在命令里写密码。跨机房备份时可以再加 `--bwlimit=5000` 把速度限制在约 5MB/s,避免备份流量挤占业务带宽。

安全上还有三条经验。第一,排除不需要的文件:`--exclude={'*.log','node_modules/','.cache/'}` 能让备份集小一个数量级。第二,`--delete` 是双刃剑,务必先 `--dry-run` 确认删除列表,尤其不要对根目录或挂载点误用。第三,备份完要验证恢复:定期从备份里随机抽一个文件恢复到临时目录,能恢复的备份才是备份。

最后把命令放进 cron 就能自动跑起来:`0 2 * * * rsync -a --delete /data/ /backup/data/ >> /var/log/rsync.log 2>&1`,每天凌晨两点自动同步,日志留档备查。增量传输、硬链接快照、SSH 远程同步、演练后执行——这套组合已经能覆盖个人服务器到小型团队的大多数容灾需求。先从一条 `--dry-run` 开始,今晚就给你的重要数据加一道保险。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。