それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

rsync でよく使うオプション

rsync 便利です。以前まとめたけど、あれはやり過ぎたので、よく気になる部分だけを抜粋した

最初に覚えるべき rsync

rsync -avz /path/to/source/dir/ /path/to/destination/dir/

/path/to/source/dir/ の中身と /path/to/destination/dir/ に同期します。
ディレクトリをディレクトリとして送信するときは /path/to/source/dir (末尾に / をつけない)

  • a :基本的にコレつけておけば大丈夫 -r -l -p -t -g -o -D の省略形
  • v :様子を表示。
  • z :圧縮 同じマシン内であれば必要ないかと

-a の実際

  • a は省略形です。-a = { -r -l -p -t -g -o -D } です

-r ディレクトリを再帰的に調べる。
-l シンボリックリンクをリンクとして扱う
-p パーミッションも含める
-t 更新時刻などの時刻情報も含める
-o 所有者情報も含める
-g ファイルのグループ情報も含める
-D デバイスファイルはそのままデバイスとして扱う


大きなファイルを送るときのおすすめ --partial 転送再開オプション


20GBのtar.gz 転送が途中で終わって涙目になるので。途中から再開できるように。

rsync -av --partial #ファイル途中から追記する

意味
--partial : ファイルを再開できるようにする。-P でもいい 。


サーバーを越えるときのおすすめ

パーミッションや所有者が変になるので -p や-o を外す

rsync は異なるホスト間でファイル転送が出来るが、異なるホストだとユーザーが違てて所有者が変わってしまう。そのようなトラブル発生します。パーミッションが維持されて困る場合は -o や -p を外します。

rsync -a --no-p  User@host::/path/to/dir /mnt/disk01/

意味: -a で転送して欲しい、だけど、 パーミッション はいらない。


--no-pは? なに

-aはつける、だけど p はいらない。-no-D とか -no-Aなど組合せで使う。いつものオプションに今だけコレをオフにしたいとき

転送エラーになりそうな要因を事前に調べるのもおすすめ

dry-run。つまり実際のファイル転送はしいない

rsync -n

参考

man rsync