2012-08-03 56 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這看起來似乎採用了這個概念與更精確的算法。