タグ: rsync

scp と rsync の帯域制限

ディレクトリ単位でscpとかしたいけど、通常業務に負荷のかからない範囲で実行したい、とかそんな時に。

scp -Cpqri /root/.ssh/id_rsa -l 8000 root@192.168.1.1:/var/www/html /var/www/

「-l」で指定できる。
単位は kilo bit らしいので、8000 で 1 Mega Byte ?かな?

rsync --rsync-path='nice -n 19 rsync' -avz --delete --bwlimit=1000 --exclude 'hogehoge' root@192.168.1.1:/var/www/html/ /var/www/html/

「–bwlimit」で指定できる。
rsyncでの単位は kilo byte なので、1000 で 1 Mega Byte になる。

crontab で rsync をまわす

バックアップサーバからcrontabで毎日昼間にrsyncをかける。
事前にバックアップから本番にアクセスできるよう公開鍵を事前に本番サーバに仕込んでおく。

0 10 0 0 0 rsync --delete -auz root@192.168.1.12:/mnt/D/ /mnt/F/
0 12 0 0 0 rsync --delete -auz root@192.168.1.12:/mnt/E1/ /mnt/G/
0 14 0 0 0 rsync --delete -auz root@192.168.1.12:/mnt/E2/ /mnt/H/

こんなカンジかな?

rsync でバックアップ作り

まずは rsync をインストール。

yum install rsync

rsync で必要なオプションは

  • -a … -rlptgoDの各オプションをまとめてつける
  • -u … 更新日付の新しいものだけ
  • -z … 圧縮して送受信
  • –delete … コピー元にないファイルは削除

ぐらいかな?
テストするときは

  • -v … 転送中のファイルを表示
  • -n … コマンドの動作テスト。

をつけるといいかも。
今の rsync コマンドはrshではなくてsshがデフォルトになっているので

-e 'ssh -i /root/.ssh/id_rsa'

オプションは必要無いっぽい。
なので

rsync --delete -auz root@192.168.1.11:/mnt/E/ /mnt/G/

これで192.168.1.11上の E-Drive から自前の G-Drive へ同期をかけることができる。
詳細なオプションは
管理者必見! ネットワーク・コマンド集 – rsyncコマンド:ITpro
とか
rsync Man Page | SS64.com
このあたりで。