rsync
理解するためにテストする
# cd /tmp
# mkdir dir1
# mkdir dir2
# touch dir1/file{1..100} これはdir1に100個の空のファイルを作る
# rsync -r dir1/ dir2 rオプションは、ディレクトリを再回帰で同期する
# rsync -a dir1/ dir2
aオプションは再帰的に同期し、シンボリックリンク、特殊ファイルとデバイスファイル、変更時刻、グループ、所有者、およびパーミッションを保持します。
通常は -aオプションを使用すれば良い
重要
rsync -a dir1 dir2
これは同期をしないdir2内にdir1ディレクトリが作られる
Rsyncを使用してリモートシステムと同期する方法
これも理解するためにテストしてみる
rsync -a dir1/ ckenko25@192.168.1.2:/tmp/dir1
dir1内ファイルはすべてroot:rootの権限だが -aオプションでckenko25で行うと移動先ではckenko25:ckenko25の権限になる
権限を継承するには
rsync -a –rsync-path=”sudo rsync” dir1/ ckenko25@192.168.1.2:/tmp/dir1
完全同期をとる
dir1内で削除されたファイルはコピー先では残っているが
–deleteオプションを使うとコピー先でも削除してくれる
rsync -a -delete dir1/ ckenko25@192.168.1.2:/tmp/dir1
コメント