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