2012-04-08 15 views
19

Ich versuche, die Bandbreite zu begrenzen, die Rsync verwendet, indem Sie die Option --bwlimit angeben, aber es scheint nicht zu funktionieren. Ich weiß nicht, ob ich etwas falsch mache ...:Rsync Limit Transfer Speed ​​funktioniert nicht

Die maximal mögliche Upload-Geschwindigkeit = 10mbit/sec. Ich möchte rsync auf etwa 50% begrenzen:

Rsync-Befehl =

[~] # rsync --version 
rsync version 3.0.7 protocol version 30 

[~] # rsync -a --verbose --partial --bwlimit=500 -e 'ssh -p 2200 -i /share/ssh/id_dsa' [email protected]:/share/MD0_DATA/ /share/LocalData 

Ergebnis =

Traffic

============= ================================================= =

Lösung wie unten angegeben:

[~] # ipkg install trickle 
Installing trickle (1.06-3) to root... 
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/trickle_1.06-3_i686.ipk 
Installing libevent (2.0.16-1) to root... 
Downloading http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/unstable/libevent_2.0.16-1_i686.ipk 
Configuring libevent 
Configuring trickle 
Successfully terminated. 
[~] # trickle -d 500 rsync -a --verbose --partial -e 'ssh -p 2200 -i /share/ssh/id_dsa' [email protected]:/share/MD0_DATA/ /share/LocalData 
trickle: Could not reach trickled, working independently: No such file or directory 
receiving incremental file list 

Antwort

19

--bwlimit = KBytes/s wendet einen gleitenden Mittelwert an, um den resultierenden Durchsatz zu drosseln, , so dass Sie ihn nur für eine Übertragung bemerken, die erheblich größer ist als Ihre verfügbare Bandbreite.

von den man Seiten,

Datenblöcke gesendet werden, dann, wenn rsync die Übertragung bestimmt, zu schnell war, es vor dem Senden der nächsten Datenblock warten. Das Ergebnis ist eine durchschnittliche Übertragungsrate des vorgegebenen Grenzwert entspricht.)

einen Blick in trickle nehmen, die auf diesem Konzept mit einem verfeinerten Algorithmus zu nehmen scheint.

+0

Große, arbeitet Rinnsal sehr gut. Danke vielmals ! – Daps0l

+1

Für alle, die zu faul sind, die MAN-Seite zu lesen, bezieht sich KBPS auf Kilobyte pro Sekunde, nicht auf Kilobits pro Sekunde. Danke für den Tipp, ich verweise übrigens immer auf deine Antwort :) – arrayown

+0

10 Mbps sind ungefähr gleich 1,2 MB/Sek, also immer noch weit über 500 KB/Sek. – UtahJarhead

0

Als Alternative mag ich wirklich cstreamhttp://www.cons.org/cracauer/cstream.html.

CStream ist ein Allzweck-Stream-Handling-Tool wie UNIX dd, in der Regel in Command konstruierte verwendet, um Rohre

es möglich sein könnte, es zu benutzen mit rsync, keine Erfahrung damit. Hier ist ein Beispiel, wie man es mit tar verwenden kann.

http://www.commandlinefu.com/commands/view/2543/throttle-bandwidth-with-cstream

TL; DR

tar -cj /backup | cstream -t 777k | ssh host 'tar -xj -C /backup'