有没有办法限制 rsync 用户的速率?

有没有办法限制 rsync 用户的速率?

我有一个拥有 Shell 帐户(带有 Jailkit)的用户,坚持每天 rsync 500GB 的数据。

有没有办法限制 rsync 为每秒 2mbits?如果我必须通过 IP 执行此操作,我如何知道用户正在同步的 IP,以及我将使用什么来执行此操作? IP表??

答案1

听起来用户不会自愿表现得很好并在每次调用时使用 --bwlimit rsync

--bwlimit=RATE limit socket I/O bandwidth

iptables这个问题+答案可能涵盖了方法:

serverfault.com:如何限制每个用户的带宽?

答案2

我不熟悉 jamkit,所以我不确定实现这个的确切细节,但你可以使用 sluice (http://kernel.ubuntu.com/~cking/sluice/)对流量进行速率限制。

一个简单的解决方案可能是用一个简单的 shell 脚本替换用户 chroot 环境中的 rsync 二进制文件,例如:

#!/bin/sh -e
rsync "$@" | sluice ...

相关内容