Подтвердить что ты не робот

Ограниченная скорость передачи Rsync не работает

Я пытаюсь ограничить пропускную способность Rsync, используя опцию --bwlimit, но она не работает. Я не знаю, что я делаю что-то неправильно...:

Максимально возможная скорость загрузки = 10 мбит/с. Я хотел бы ограничить rsync примерно до 50%:

Команда Rsync =

[~] # 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

Результат =

Traffic

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

Решение, как указано ниже:

[~] # 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
4b9b3361

Ответ 1

- bwlimit = KBytes/s применяет скользящее среднее для дросселирования полученной пропускной способности, поэтому вы заметите это только для передачи, которая значительно больше, чем ваша доступная пропускная способность.

из man,

отправляются блоки данных, тогда если rsync определяет, что передача была слишком быстрой, она будет ждать перед отправкой следующего блока данных. Результатом является средняя скорость передачи, равная указанному пределу.)

Взгляните на trickle, который, похоже, использует эту концепцию с более совершенным алгоритмом.

Ответ 2

В качестве альтернативы мне очень нравится cstream http://www.cons.org/cracauer/cstream.html.

cstream - это универсальный инструмент для обработки потока, такой как UNIX dd, обычно используемый в строках, построенных с помощью командной строки.

Возможно, это будет возможно использовать с rsync, и нет опыта с этим. Вот пример, как использовать его с tar.

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'