Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
160
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@koara-local

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

数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 .

参考

160
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
160
Help us understand the problem. What is going on with this article?