rsync限速需使用--bwlimit=数值参数,单位为KB/s,如--bwlimit=500表示上限500KB/s;该值为软上限,实际速率略低但不超限;常与-a、-v、--progress、-z组合使用,适用于本地及远程同步场景。

用 rsync 限速很简单,核心就是加一个 --bwlimit 参数,单位是 KB/s,直接控制传输带宽上限。
限速参数怎么写
--bwlimit=数值 是唯一需要的限速选项,数值代表每秒最大传输字节数(单位 KB),不是 Mbps 或 MB/s。
- 限制为 500 KB/s:加
--bwlimit=500 - 限制为 1 MB/s(即 1024 KB/s):写
--bwlimit=1024 - 想更保守些,比如只用 200 KB/s:就写
--bwlimit=200
注意:这个值是“软上限”,实际速率可能略低于设定值,但不会明显超出。
常用组合推荐
限速通常不单独使用,而是搭配几个关键参数保证同步可靠性和可读性:
-
-a:归档模式,保留权限、时间戳、链接等,日常同步必备 -
-v:显示详细过程,方便观察进度 -
--progress:实时显示已传多少、剩余多少、速度和耗时 -
-z:启用压缩(尤其走 SSH 时能减少实际网络负载)
例如完整命令:rsync -avz --progress --bwlimit=800 /local/dir/ user@host:/remote/dir/
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
本地和远程都适用
--bwlimit 在所有 rsync 模式下都有效:
- 本地同步:
rsync -a --bwlimit=2000 /src/ /dst/ - 推送到远程:
rsync -avz --bwlimit=500 file.txt user@192.168.1.100:/tmp/ - 从远程拉取:
rsync -avz --bwlimit=300 user@192.168.1.100:/log/ /backup/logs/
无论数据流向如何,限速逻辑一致,由执行 rsync 的这台机器控制发出去的流量。
和其他限速方式的区别
别混淆 --bwlimit 和系统级限速工具(如 tc、trickle):
-
--bwlimit是 rsync 内置机制,只影响当前 rsync 进程,无需额外权限或配置 - 它作用在应用层,对 SSH 连接本身不设限,但能有效避免 rsync 吃光带宽
- 不像
scp -l那样按千比特(kbps)算,rsync 的单位是 KB/s(千字节每秒),数值上要乘以 8 才接近传统带宽单位
比如 --bwlimit=1000 ≈ 占用 8 Mbps 带宽(理论峰值),实际受文件大小、磁盘 I/O、网络延迟影响会更低。

















