Navigation :
Top/rsync
rsync
機能 †
- リモートファイルのコピー
- rsync は rcp を非常に強力にしたようなもの
- ディレクトリーの同期に使えます.
書式 †
使用例 †
- /remoteを/localにコピー..*~ファイルは除く
rsync -avuzHl --exclude '*~' --delete /remote /local
- sshでネットワーク後しにrsync.xxx.comの/remoteをlocalにコピー
rsync -av xxx.com:/remote /local
- SSHで同期+あたらしいファイルだけ
rsync -avuz -e ssh xxx.com:/remote /local/
- SSHで同期+あたらしいファイルだけ+状況を表示
rsync -avuz --progress --stats -e ssh xxx.com:/remote /local
- SSHで完全同期(ホストにないファイル削除)+あたらしいファイルだけ+状況を表示
rsync -avuz --delete --progress --stats -e ssh xxx.com:/remote /local
オプション †
- -e ssh
- sshを使って転送
- -a archive
- ファイルについての情報を保つ
- -r --recursive
- 再帰的にコピー
- -u update
- より新しければ更新しない
- -v verbose
- 表示
- -z compress
- ファイルを圧縮
- -b backup
- 古いファイルは ~ の付いた名前になる
- -l links
- symlinkをsymlinkとして残す
- -H lard-links
- hardlinkをそのまま残す
- --delete
- コピー元にファイルを削除:完全同期
- --exclude '*~'
- 同期から除外
- --progress
- 転送(同期)中ファイルの転送速度を表示する。
- --stats
- 転送(同期)完了後に、統計情報を表示する。
- --partial
- 同期途中のファイルを残す。デフォルトでは、同期途中に同期できなくなったファイルは削除される。
- -h, --human-readable
- progress や --stats で表示される数値を、わかりやすい単位に丸める。
注意事項 †
コピー元のディレクトリ名を「dir」と指定するか、「dir/」とスラッシュ(/)を追加するかで挙動が変わる.
- dirとスラッシュ無しで指定
- dirディレクトリの中身と,そのディレクトリ自体がコピーされる.
- dir/とスラッシュ有りで指定
ーー dirディレクトリの中身はコピーされるが,ディレクトリはコピーされない.
1) rsync -av ~/dir /backup/ dirディレクトリも含めてコピーしたい場合:「/」なし 2) rsync -av ~/dir/ /backup/ dirディレクトリ以下のツリーをコピーしたい場合:「/」あり
コピー先の指定ではスラッシュを考慮する必要はない.