2012-08-03 57 views
0

最近,我的主机防火墙开始阻止每秒超过9000个数据包的IP。我在Ubuntu服务器上设置了一个cron作业,它将使用rsync进行备份并将其推送到远程服务器。最近,在运行此备份时,它开始超出限制,所以我的服务器被阻止。所以我的问题是,如何将rsync限制为每秒9000包?如何在rsync中每秒限制数据包?

PS:我使用Ubuntu 12.04

+0

可能重复的[Rsync限制传输速度不工作](http://stackoverflow.com/questions/10064316/rsync-limit-transfer-speed-not-working) – joran 2012-08-04 03:06:37

回答

0

听起来像它的时间来投票你的钱,并把你的业务转移到别处(并确保他们知道为什么)。同时......

我不认为有可能知道一个特定的传输会有多少包:它取决于多少数据被细分,这取决于很多因素,包括随机机会,我想。

的Rsync确实提供了带宽限制功能,我建议你试试,看看你的身体情况如何:

例如,这将限制rsync将500千字节/秒,这是非常约5Mbits/s的:

rsync --bwlimit=500 ...... 

(是的,我知道有一个字节8位,而这还没有考虑网络开销考虑在内。)

您可以通过将其限制在一半的假设的最大带宽启动。如果这样做,那么你可以上升到四分之三。如果这不起作用,那么尝试两者之间的一半,等等,直到找到最大可靠数字。

0

像AMS指出,
只能限制转移带宽,而不是包算,

--bwlimit = KBPS应用于移动平均节流所产生的吞吐量, 所以你只请注意,此传输比您的可用带宽大得多。数据的

man页,

块被发送,则如果rsync的确定传输太快,就会发送下一个数据块之前等待。结果是平均传输速率等于指定的限制。)

看看trickle这看起来似乎采用了这个概念与更精确的算法。