rsync

  • 2つのディレクトリのミラーリングを取るのに最適。
    • お手軽
    • 高速
    • NW越えサーバ間でもできる(今回はこれ目的)

サーバ側

  • rpm -qa|grep rsync
  • rpm -qa|grep xinetd
    • TurbolinuxとかCentOSでは入っていた
  • vi /etc/xinetd.d/rsync
    disable = no
  • /etc/init.d/xinetd restart
  • chkconfig xinetd on
  • vi /etc/rsyncd.conf
    [source]
    path = /home/source/directory
    hosts allow = 192.168.0.1 192.168.0.2
    hosts deny = *
    list = true
    uid = user1
    gid = user1
    • pathでrsync対象のディレクトリを指定
    • hosts allow, host denyでrsyncを許可・拒否するホスト/IPを指定
      • hoge.example.com 192.168.0.1 192.168.1.0/255.255.255.0
    • uid, gidでアクセスするユーザを指定

クライアント側

  • 実行するだけ
  • rsync -auvz --delete 192.168.0.1::source /tmp/destination/directory
    • -n で dry-run(実際にコピーしない)

rsyncいろいろ

rsync -auvz --delete /source/directory/ /destination/directory/
  • directory/ の中身を directory/ の中身と一致させる
    • /があるとその中を起点として比較する
  • -a で archive。属性(permission)を引き継いでコピー。
  • -u で update。日付とサイズ比較でコピー。
  • -c で chacksum。日付・サイズ比較ではなく、チェックサム比較でコピー。
  • -v で verbose。コピー状況を表示。
  • -z で compress(zip)。転送時に圧縮をかける。たぶんローカル時は意味ない。
  • -n で dry-run。実行せずに表示するだけ。