Navigation : Top/rsync

rsync

機能

  • リモートファイルのコピー
  • rsync は rcp を非常に強力にしたようなもの
  • ディレクトリーの同期に使えます.

書式

使用例

rsync -avuzHl --exclude '*~' --delete  /etc  /backup/

sshでネットワーク後しにrsync

rsync -av ~/dir xxx.yyy.ac.jp:dir/
rsync -avuz -e ssh xxx.yyy.ac.jp:/home/mori/xxx ~/tmp/
rsync -avuz --progress --stats -e ssh xxx.yyy.ac.jp:/home/mori/xxx ~/tmp/

オプション

  • e ssh
    • sshを使って転送
  • -a archive (ファイルについての情報を保つ)
    • rlptgoD と同義。(--recursive --links --perms --times --group --owner --devices)
  • -u update (より新しければ更新しない)
  • -v verbose (-vv more 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ディレクトリ以下のツリーをコピーしたい場合:「/」あり
    コピー先の指定ではスラッシュを考慮する必要はない.

参考