首页/系统/Linux 运维命令速查/rsync --inplace 大文件增量同步
文件与目录76 条

rsync --inplace 大文件增量同步

大文件(镜像/虚机盘/数据库导出)小改动用 --inplace 只传差异块,省时间也省临时空间;默认模式是「临时文件+改名」。

Linux 运维命令速查系统更新于 2026-10-13

rsync 就地增量同步是什么

rsync 默认的工作方式是在目标端写临时文件,全部传完再改名覆盖:好处是中断不会破坏目标文件,代价是需要额外的临时空间,大文件尤其明显。对镜像文件、虚拟机磁盘、数据库导出这类超大文件,改动的往往只有少量块,用就地写入模式可以只传差异块、直接写进目标文件,省时间也省空间。代价是一旦中断,目标文件会处于新旧混合状态,重要数据必须先做快照。

基本信息

适用平台Linux、macOS(两端 rsync 版本建议相近)
语法rsync -avh --inplace --partial --progress 源 目标
相关选项--append-verify 校验已有部分后追加
默认行为临时文件加改名,中断不破坏目标
就地写入特点省空间省时间,中断后目标新旧混合
适用对象镜像文件、虚拟机磁盘、大导出文件

典型使用场景

  • 备份虚拟机磁盘镜像:本地盘到备份存储的日常增量同步。
  • 跨机房搬运大镜像文件,小改动只传差异块。
  • 数据库导出的超大文件做异地副本更新。
  • 磁盘到磁盘的整体复制类数据搬运。
  • 网络受限场景下最小化传输量。

常用写法

常用写法
rsync -avh --inplace --partial --progress disk.img backup@nas:/data/   # 就地增量
rsync -avh --append-verify big.iso backup@nas:/data/                   # 断点续传语义
rsync -avh --inplace --partial hdd.qcow2 /mnt/backup/                  # 盘到盘同样适用
rsync -avhn --inplace --partial disk.img backup@nas:/data/             # 先演练看差异
rsync -avh --bwlimit=50M --inplace disk.img backup@nas:/data/          # 限带宽避免挤占业务
ssh backup@nas 'ls -l /data/disk.img'                                  # 复核目标文件

模式与选项对照

选项或模式行为使用要点
默认模式临时文件加改名中断不破坏目标,但需要额外临时空间
--inplace就地写入省空间省时间,中断后目标新旧混合
--partial保留未完成部分断点后可以继续传输
--append-verify校验后追加大文件续传更安全
--bwlimit限制带宽避免备份挤占业务流量
演练模式只列出差异大文件同步前先确认传输量
就地写入牺牲了中断安全性:目标文件在被中断时可能同时包含新旧内容,对这种文件做校验会发现摘要不匹配,重要数据同步前先做快照。
同步期间目标文件不应被其他进程写入:多写者会导致内容不一致,数据库类文件要先停写或采用一致性手段后再同步。
带宽受限的链路上给同步加限速,避免备份任务把业务流量挤掉;结合演练模式预估传输量再决定执行窗口。

易错点

  • 用就地写入同步重要文件却没有快照,中断后目标文件新旧混合且难以恢复一致状态。
  • 同步时目标文件正被其他进程写入,最终内容不一致,事后才发现备份不可用。
  • 不加限速地跑全量同步,把业务链路打满,影响线上服务。
  • 默认模式在空间不足的目标端失败:临时文件需要额外空间,空间紧张时应改用就地模式并接受其风险。

数据来源与参考

  • man 1 rsync(samba.org rsync 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌