È possibile limitare la velocità di un trasferimento scp / sftp / rsync / etc dalla riga di comando? cioè QoS manuale su un singolo comando?


10

In particolare, sto cercando di limitare una scpo una sftpsessione (o altra chiamata di rete arbitraria) nella chiamata stessa .

Ad esempio, supponiamo di voler copiare 100 MB su un server e 1 GB su un altro. Mi piacerebbe essere in grado di eseguire entrambi questi allo stesso tempo, ma mantenere un QoS per un uso "normale" del computer - un po 'simile a come è possibile limitare la velocità di bittorrent.

C'è un modo per farlo senza toccare l'hardware di rete?

Sto immaginando qualcosa di simile a:

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

O..

scp -rate 40kbps file user@host:/path/to/file

Risposte:


12

Sì, esiste un'applicazione che funziona esattamente come il tuo "magic-qos-tool", chiamato " 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.

1
grazie, @davr - uno strumento wrapper vs imparare tutte le opzioni per ciascuno è un grande miglioramento :)
warren


7

Rsync ti semplifica le cose, ha un'opzione per farlo: --bwlimit=KBPS


2

sftp ha un flag di limitazione, a partire da Debian 7 e Ubuntu 12.04 in quelle distribuzioni:

-l limit

    Limita la larghezza di banda utilizzata, specificata in Kbit / s.

(Certo che è un minuscolo L.)

Fonte: stfp(1)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.