Remote
在不佔用頻寬的情況下傳輸大文件(Linux 是否有等效的 BITS?)
Microsoft 的後台智能傳輸服務 (BITS) 的實現是否可用於 Linux 系統?
我正在考慮通過網際網路將大文件傳輸到遠端 Linux 伺服器的選項,我不希望它佔用我所有的(有限的!)上游頻寬。
過去我曾在 Windows 系統上成功使用過 BITS,但這次我需要在 Linux 伺服器之間進行傳輸。
如果這有什麼不同的話,兩個系統都可能執行基於 Ubuntu 的系統,儘管理想情況下我想要一個獨立於發行版的解決方案。
首先,簡單的方法:
rsync
有一個--bwlimit
參數。這是一個恆定的速率,但您可以使用它輕鬆地降低它。現在,如果你想要自適應速率,有linux 流量控制框架,它實際上是相當複雜的。我知道有幾個參考資料:
就個人而言,當我必須進行設置時,我使用tcng來簡化任務。這是一個例子:
dev office { egress { class ( <$ssh> ) if ip_tos_delay == 1 && tcp_sport == PORT_SSH ; class ( <$kyon> ) if ip_dst == 172.16.1.62; // monitoring host class ( <$fast> ) if ip_tos_delay == 1; class ( <$default> ) if 1; htb() { class ( rate 1440kbps, ceil 1440kbps ) { $ssh = class ( rate 720kbps, ceil 1440kbps ) { sfq; }; $kyon = class ( rate 360kbps, ceil 1440kbps ) { sfq; }; $fast = class ( rate 180kbps, ceil 1440kbps ) { sfq; }; $default = class ( rate 180kbps, ceil 1440kbps ) { sfq; }; } } } }
在該範例中,通過辦公室介面發送的流量被分為幾類:ssh、kyon、fast 和 default。連結(T1,在使用時)的上限為 1440kbps(這必須略低於實際連結速率,因此緩衝發生在 Linux 機器上,而不是路由器上)。您可以看到 ssh 分配了 720kbps、kyon 360 等。所有這些都可以突發到全速率(ceil)。當存在爭用時,“rate”作為一個比率,因此 ssh 將被賦予 1/2,kyon 1/4,等等。“sfq”表示如何處理多個 ssh 會話;sfq 是循環的一種形式。