nixCraftは12月11日(米国時間)、「How to set rsync speed limit from eating all bandwidth with -bwlimit option - nixCraft」において、rsyncコマンドでデータをコピーする際に通信速度を指定する方法を紹介した。
rsyncコマンドに用意されている通信帯域幅を指定するオプションを利用する方法、ioniceコマンドでI/Oスケジューリングクラスを指定する方法、trickleコマンドで通信帯域幅を指定する方法などが紹介されている。
紹介されているコマンドの主な使い方は次のとおり。
コマンド | 内容 |
---|---|
rsync --bwlimit=キロバイト [オプション] src dst | 通信速度を指定してrsyncを実行。通信速度はキロバイト/秒単位で指定する |
ionice -c2 -n7 rsync ... | ioniceコマンドでI/Oスケジューリングクラスと優先順位を設定する。-c2でスケジューリングクラスにベストエフォート、-n7で優先順位を指定している |
trickle -s -d キロバイト -u キロバイト rsync ... | trickleコマンドを使って通信速度を指定する。-uでアップロード速度、-dでダウンロード速度を指定する |
rsyncコマンドはサーバ間でデータをコピーしたり、定期的にバックアップを取ったりする方法として使われている。UNIX系のオペレーティングシステムは基本的にコンピュータリソースを最大限に使おうとするため、rsyncによるデータ同期が実行された場合、rsyncによってネットワーク帯域が使い切られることもある。
記事では、rsyncコマンドの--bwlimitオプションを使うなどして、通信帯域幅を制限する手法を取り上げている。帯域幅を制限することで、ネットワークを使い切ることなく、バックグランドでrsyncコマンドを使い続けることができる。