scp で帯域制限する
unix scp
Published: 2018-05-26

目的

scp コマンドを使って、容量の大きいファイルをダウンロードしたり、アップロードしたりすると

ネットワークが重くなったり、途中で途切れたりすることがありました。

転送速度を帯域制限することにより制御します。

方法

例えば、 毎秒 5MB までを転送したいときは、

5 (MB) = 5 * 1024 * 1024 * 8 = 41943040 (bit) = 41943.040 (Kbit)

scp コマンドの l オプションを利用します。

(以下 man コマンドより引用)


     -l limit
             Limits the used bandwidth, specified in Kbit/s.

全体のコマンドは下記のようになります。

  • 手元の PC から index.html ファイルを domain.com のサーバーの /home/admin ディレクトリへ配置します。
  • identity_file は domain.com のサーバーへ入る秘密鍵です。
$ scp -P 22 -i identity_file -l 41943 index.html admin@domain.com:/home/admin/

参考