É possível limitar uma transferência scp / sftp / rsync / etc a partir da linha de comando? ou seja, QoS manual em um único comando?

10

Especificamente, eu estou olhando para limitar uma scp ou sftp sessão (ou outra chamada de rede arbitrária) na própria chamada .

Por exemplo, digamos que eu queira copiar 100MB para um servidor e 1GB para outro. Gostaria de poder executar os dois ao mesmo tempo, mas manter uma QoS para uso de computadores "normais" - um pouco semelhante a como você pode limitar o bittorrent de taxa.

Existe uma maneira de fazer isso sem tocar no hardware de rede?

Estou imaginando algo parecido com:

magic-qos-tool 'scp file user@host:/path/to/file'

Ou ..

scp -rate 40kbps file user@host:/path/to/file
    
por warren 02.04.2010 / 22:45

3 respostas

12

Sim, há um aplicativo que funciona exatamente como a sua "ferramenta magic-qos", chamada " trickle ".

EXAMPLES
     trickle -u 10 -d 20 ncftp

     Launch ncftp(1) limiting its upload capacity to 10 KB/s, and download ca-
     pacity at 20 KB/s.
    
por 03.04.2010 / 00:54
14

scp tem -l e rsync tem --bwlimit .

    
por 02.04.2010 / 22:49
7

O Rsync torna isso fácil para você. Ele tem a opção de fazer isso: --bwlimit=KBPS

    
por 02.04.2010 / 22:48