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


10

具体的には、コール自体のscp or sftpセッション(または他の任意のネットワークコール)をレート制限することを検討しています

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

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

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

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

または

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

回答:


12

はい、「トリクル」と呼ばれる「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.

1
おかげで、@ davr-1つのラッパーツールと、それぞれのすべてのオプションを学習することの比較は、大きな改善です:)
warren

16

scpには-l、rsyncにはがあり--bwlimitます。


man以前チェックしたページのオプションではありませんでした...それはおそらくプラットフォームに依存しているようですか?
ウォーレン2010

かなり可能性があります。ここにOpenSSH 5.3p1があります。
Ignacio Vazquez-Abrams

XenServer 6には-lオプション付きのscpがあります
Brian

scpの-lフラグはSolaris 11では機能しません。他のオプションまたは代替はありますか?
錬金術師

7

Rsyncはこれをあなたに簡単にします、それをするオプションがあります: --bwlimit=KBPS


2

sftp これらのディストリビューションのDebian 7およびUbuntu 12.04の時点で、スロットルフラグがあります。

-l limit

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

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

ソース: stfp(1)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.