http://www.infoscience.co.jp/technical/rsync/rsync.html
http://www.itmedia.co.jp/enterprise/articles/0804/21/news013.html

 

1.リモートホスト(192.168.2.250)から、rsyncでコピー
構文
# rsync オプション src dest
# rsync -avz 192.168.2.250:/etc /backup/test1   ←"/"がない場合は、/etcというディレクトリを再帰的に転送する。"archive" モードで転送された全てのファイルは、シンボリックリンク、デバイス、属性、 パーミッション、所有者等が維持される。
# rsync -avz 192.168.2.250:/etc/ /backup/test1 ←"/"がある場合は、/etcディレクトリ以下にあるファイルやディレクトリを転送する。
※上記の場合、コマンド実行直後に、リモートホストのパスワードが聞かれる
→リモートのサーバのパスでは認証を要求されるかもしれません。もし認証を要求されると、接続時に パスワード入力のプロンプトが返されます。使用するパスワードを RSYNC_PASSWORD 環境変数に設定するか、 --password-file オプションを使えばパスワードのプロンプトは表示されません。
 
2.rsyncのオプション
-v, --verbose               転送情報を詳しく表示
-a, --archive               アーカイブモード(-rlptgoD オプションと同義)
-H, --hard-links            ハードリンクを維持する
-S, --sparse                密度の低いファイルを効率的に扱う
-e, --rsh=COMMAND           rsh の代替を指定
--numeric-ids           ユーザとグループの id 番号を転送して、転送後にマッピング
--delete                送信側にないファイルを削除
--delete-excluded       受信側にある exclud ファイルも削除
※--exclude=PATTERN オプションで除外するファイルについても、DEST にあれば削除する。
(--exclude=PATTERN しているファイルは rsync の処理から除外されるため、SOURCE に無くて DEST にあっても、--delete で消去されることは無い。しかし、--delete-excluded すると --exclude=PATTERN で rsync の処理から除外されたファイルも削除する。)
 
 
 
 
rsync -e ssh -avHS --numeric-ids --delete --delete-excluded $src ${BASE}/${host}/${TODAY}/ $* 
 
src=$1   例えば、garoon:/etc
${BASE} は、/backup
${host} は関数backupの中のローカル変数で、例えば、garoon
${TODAY} は、例えば、2012/11/24
 
rsync -e ssh -avHS --numeric-ids --delete --delete-excluded garoon:/etc /backup/garoon/2012/11/24/ garoon:/etc ?exclude-from=/etc/valinux-remote-backup/var.ex