rsync 通过 --bwlimit 参数限制网络传输带宽(单位 KB/s),仅对 SSH 或 daemon 模式生效;建议搭配 -z 压缩、-P 显示进度并断点续传,以及 --dry-run 和 --exclude 规避误操作与冗余文件。

用 rsync 控制带宽传输,核心是 --bwlimit 参数,它能限制每秒传输字节数,避免占满网络、影响其他服务或触发防火墙限速。
带宽控制的基本用法
直接在命令中加上 --bwlimit=KBPS(单位是 KB/s),比如限制为 2MB/s:
rsync -avz --bwlimit=2000 /local/dir/ user@host:/remote/dir/- 数值填整数即可,
500表示 500KB/s,10000表示约 10MB/s - 该参数对本地同步无效,仅作用于网络传输(SSH 或 rsync daemon 模式)
配合压缩减少实际带宽压力
带宽受限时,启用压缩可显著降低传输量,尤其对文本、日志、配置类文件效果明显:
- 加 -z 参数开启传输中压缩(接收端自动解压)
- 建议组合使用:
rsync -avz --bwlimit=1000 /src/ user@host:/dst/ - 注意:压缩会略微增加 CPU 负担,但通常远小于带宽瓶颈带来的延迟
兼顾进度与断点续传
长时间传输容易中断,加上 -P(等价于 --partial --progress)更稳妥:
-
--partial保留已传部分,下次继续传剩余内容 -
--progress实时显示速度、已完成百分比和估算剩余时间 - 完整示例:
rsync -avzP --bwlimit=800 /bigdata/ user@backup:/archive/
避免误删+精准排除干扰项
带宽受限时传输周期拉长,更要防止操作失误或同步无关文件拖慢整体效率:
- 加 --dry-run 先预览哪些文件会被传、删、跳过
- 用 --exclude 屏蔽临时文件、缓存、日志等非关键内容,例如:
--exclude='*.tmp' --exclude='cache/' - 慎用 --delete,确认源目录结构稳定后再启用,否则可能误删目标端有效数据


















