Controlando o uso da largura de banda do rsync por porcentagem da largura de banda disponível, no espaço do usuário?

1

Costumo usar rsync em um laptop baseado em OSX para sincronizar alguns arquivos dele com um servidor Linux. O laptop pode ser conectado a diferentes redes com larguras de banda muito variáveis (ethernet de escritório, wifi, 3G, etc.) A opção --bwlimit=Kbps permite controlar a largura de banda usada no userspace especificando um limite rígido (bem, aproximadamente hard) para rsync em si. No entanto, ele é expresso em Kbps, o que dificulta o uso em scripts automatizados que são usados em redes variadas, como as que o laptop conecta.

Existe uma maneira de dizer ao rsync para usar uma porcentagem da largura de banda em vez de um limite expresso em K? Como alternativa, posso facilmente calcular esse valor dinamicamente ou envolver o rsync com um script para fazer isso?

Eu gostaria de uma solução que funcione no OS X ou que falhe Linux - idealmente.

Observação : eu gostaria de evitar soluções que envolvam modelagem de tráfego hardcore com um firewall ou algo parecido. Valores aproximados ou estimados para o limite são aceitáveis.

    
por Andrew Ferrier 02.06.2013 / 19:59

1 resposta

1

Supondo que você tenha o Python, você pode modificar speedtest-cli para alterar seus resultados impressos ou importá-lo como um módulo em seu próprio programa e use os valores de retorno de sua função downloadSpeed() . Como é, você pode obter:

$ ./speedtest-cli --simple
Ping: 375.668 ms
Download: 66.36 Mbit/s
Upload: 41.05 Mbit/s
    
por 02.06.2013 / 20:55