web-dev-qa-db-ja.com

コマンドラインからscp / sftp / rsync / etc転送をレート制限することは可能ですか?つまり、単一のコマンドでの手動QoS?

具体的には、scpまたはsftpセッション(または他の任意のネットワーク呼び出し)呼び出し自体でをレート制限しようとしています。

たとえば、100MBを1つのサーバーにコピーし、1GBを別のサーバーにコピーするとします。これらの両方を同時に実行できるようにしたいのですが、「通常の」コンピューター使用のためにQoSを維持します。これは、ビットトレントをレート制限する方法と多少似ています。

ネットワークハードウェアに触れることなくこれを行う方法はありますか?

私は次のようなものを想像しています:

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

または..

scp -rate 40kbps file user@Host:/path/to/file
10
warren

はい、「 trickle "」と呼ばれる「magic-qos-tool」とまったく同じように機能するアプリケーションがあります。

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.
12
davr

scpには-l、rsyncには--bwlimit

Rsyncはこれを簡単にします。これを行うオプションがあります:--bwlimit=KBPS

7
kbyrd

sftpには、これらのディストリビューションのDebian7およびUbuntu12.04の時点で、スロットルフラグがあります。

_-llimit_

    Kbit/sで指定された使用帯域幅を制限します。

(もちろん、それは小文字のLです。)

ソース: stfp(1)

2
Thom Luxford