LoginSignup
165
172

More than 5 years have passed since last update.

rsync, wget, curl, scp に速度制限をかける方法まとめ

Last updated at Posted at 2015-09-03

数GBのバックアップファイルをネットワーク上のストレージへコピーする際にrsyncを使用しているのだが、あるタイミングから毎回IOエラーが発生するようになった。

rsync error: error in file IO (code 11) at receiver.c(389) [receiver=3.1.0]

code 11 は例えばコピー先の容量が一杯のときなどにでるようだが(参考
転送先のストレージの空き容量などは特に問題なく、HDDもある程度新しいため壊れたとも考えにくい状態。

その後対応を調べたところ、転送速度をある程度絞るとエラーが発生しなくなった。

rsync --bwlimit オプションを設定

rsyncの帯域制限をかけるには、以下のように設定する。単位は kB/sec。

# 転送速度を 1MB/sec に設定
rsync --bwlimit=1024 <送信元> <送信先>

今回はエラーの対処のために行ったが、主にサーバーの負荷を下げる用途に使用するらしい。

その他のコマンドでも帯域制限をかける

wget

# 単位は byte/sec, 例は 1MB/sec
wget --limit-rate=1024k http://XXXXXXXXXXXXXXXXXXXX
wget --limit-rate=1m http://XXXXXXXXXXXXXXXXXXXX

curl

# 1024k, 1m などで指定できるらしい、例は 1MB/sec
curl --limit-rate 1m http://XXXXXXXXXXXXXXXXXXXX

scp

# 単位は Kbit/sec
scp -l 8192 root@hoge.com:/foo/bar.txt .

参考

165
172
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
165
172