一、增量传输,只动变化的部分
这是 rsync 的灵魂。它采用”rsync 算法”:发送方和接收方各自对文件分块计算校验值,只把接收方没有的块传过去。对 10 GB 日志里只改了 1 MB 的情况,实际传输量约 1 MB,而非 10 GB。
# 第二次执行几乎瞬间完成,因为只同步差异
rsync -avz /data/ user@backup:/data/backup/
二、节省带宽,支持压缩
-z 选项在传输前对数据进行 gzip 压缩,对文本日志、配置文件这类高冗余数据效果尤其明显,跨公网备份时价值巨大。
三、完整保留文件属性
使用 -a(归档模式,等价于 -rlptgoD),可保留:
- 符号链接(-l)
- 权限位(-p)、修改时间(-t)
- 属主/属组(-o/-g,需 root)
- 设备文件与特殊文件(-D)、硬链接(-H)
- ACL(-A)与扩展属性(-X,完整版 rsync 支持)
四、基于 SSH 的加密传输
rsync 默认通过 SSH 通道传输(-e ssh),无需额外开放端口,天然具备机密性与完整性保护。在 FreeBSD 上只要双方能 ssh 互通即可使用。
五、灵活的包含/排除规则
用 --exclude / --include 可以精细控制同步范围,例如排除缓存目录、临时文件:
rsync -avz --exclude='cache/' --exclude='*.tmp' /data/ user@backup:/backup/
六、断点续传与可恢复
--partial 保留未完成的部分文件,配合 --append 可在中断后继续,而不是从头再来。超大文件跨不稳定网络时非常关键。
七、删除多余文件,保持两端一致
--delete 会把目标端”源端已不存在”的文件删掉,实现真正的镜像同步(慎用,建议先用 --dry-run 预览)。
八、限速,避免打满带宽
--bwlimit=KBPS 限制传输速率,避免备份任务挤占业务流量。例如 --bwlimit=2048 限速 2 MB/s。
九、干跑预览,安全第一
-n / --dry-run 不真正改动任何文件,只输出”将会做什么”,是每次重要同步前的最佳习惯。
十、既支持本地也支持远程,还能当守护进程
rsync 一套命令同时覆盖:本机目录同步、SSH 远程同步、以及独立的 rsyncd 守护进程模式(适合高并发只读镜像)。使用场景详见本系列第五篇。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END














暂无评论内容