首页/系统/信创系统运维速查/rsync 增量同步与备份
命令与包管理65 条

rsync 增量同步与备份

同步与备份的标准工具:增量传输、断点续传、--delete 保持镜像一致;首次全量、之后只传变化部分。

信创系统运维速查系统更新于 2026-10-13

rsync 是什么

rsync 是增量文件同步工具:它先比对新旧文件的大小与修改时间,只传变化的部分,必要时还能按块计算校验值做更精细的差异传输。这让它在备份与发布场景里远优于直接复制,同步十吉字节的文件通常只需传几十兆差异。它既能走本地路径,也能通过 ssh 在机器之间传,配合归档与删除选项可以做到「让目标端与源端完全一致」。信创平台的服务器版与桌面版都预装 rsync。

基本信息

所属rsync,各 Linux 发行版通用
语法rsync [选项] 源 目标
常用组合-a 归档保留属性,-v 输出详情,-P 显示进度并支持续传
远端传输默认走 ssh 通道,可用 -e 指定端口等参数
演练模式-n 只预演不落盘
权限读写目标目录所需权限即可,跨机需远端有账号

典型使用场景

  • 发布部署:把构建产物增量推到目标机目录,只传变化文件
  • 数据备份:把业务目录同步到备份机或挂载的存储卷
  • 目录镜像:配合删除选项让目标端与源端完全一致,便于做校验
  • 迁移搬迁:首次全量传输,之后靠增量补齐,长时间窗口也能断点续传
  • 定时同步:写进计划任务做周期增量备份
  • 核对文件完整性:用校验模式确认两端内容是否真的相同

典型用法

典型用法
rsync -avP /data/app/ deploy@10.0.10.21:/data/app/          # 增量同步并显示进度
rsync -avn --delete /data/app/ /backup/app/                 # 先预演,确认要删哪些
rsync -av --exclude='cache/' --exclude='tmp/' /data/ /backup/data/   # 排除临时目录
rsync -av -e 'ssh -p 2222' /data/ user@host:/data/          # 指定非默认端口
rsync -av --bwlimit=20m /data/big/ backup:/data/big/        # 限速,避免占满带宽
rsync -avc /data/app/ backup:/data/app/                     # 按校验值比对,更准但更慢

常用选项读法

选项作用使用提示
-a归档模式,保留权限时间属主最常用,相当于多个选项的组合
-v输出传输详情脚本里建议保留,便于日志审计
-P进度显示并支持断点续传传大文件时必备
-n只预演不落盘带删除选项时必须先跑一次
--delete删除目标端多余的文件让目标与源一致,风险最高
--exclude排除匹配的路径写相对路径,模式结尾注意目录语义
-e指定远端 shell 及参数常用于非默认 ssh 端口
-c按校验值比对更准但耗时,慎用于大目录
源路径末尾是否带斜杠语义完全不同:带斜杠表示同步「目录里的内容」,不带斜杠表示把「这个目录本身」放到目标路径下。删除选项与这层语义组合错误时,会造成目标端被清空或结构错乱,所以带删除的动作一律先加预演选项跑一遍。
压缩选项在局域网内不一定更快:大量小文件时压缩会增加 CPU 开销而收益有限,同机房同步通常可以不加;跨广域网传文本类数据时收益明显。带宽有限的线路可用限速选项,避免备份任务把业务带宽占满。

易错点

  • 源路径末尾斜杠写错,同步结果与预期差一层目录,配合删除选项后目标端结构被彻底打乱
  • 直接在生产机上执行带删除的同步而不预演,误配路径会把备份目录清空
  • 把同步任务放进计划任务却不加锁,上一轮还没跑完下一轮又开始,出现文件混杂
  • 为了「更准」对超大目录开启校验比对,耗时成倍增长,同步窗口被拖长

数据来源与参考

  • rsync 官方文档
  • 备份实践指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌