rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

rsyncによる2つディレクトリの同期

2021 Apr. 26.
2021 Apr. 25.

DirAとDirBがあって、あるファイルはDirAに新しい版があり、別のファイルはDirBに新しい版がある状態の時、両ディレクトリを同期し、引き続きDirAを使う時は、次のような手順が確実かと思う。
ただし、「削除したはずのファイルが残っている」ということにはなる。
コピー元に無いファイルをコピー先から削除する --delete オプションは、残しておきたいコピー先の新しいファイルも削除するので、使わない。

# rsync --update -av DirA/ DirB/
# rsync --update -av DirB/ DirA/

rsyncに記述する2つのディレクトリの内、最初の方の(コピー元)ディレクトリの末尾にディレクトリ区切りのスラッシュを付けないと、後ろの(コピー先)ディレクトリの直下にコピー元ディレクトリが丸ごとコピーされてしまう。
はじめてrsyncを使う方が知っておきたい6つのルール:Command Technica(1/2 ページ) - ITmedia エンタープライズ より)

"rsync --update -av"は"rsync -uav"でも"rsync -ua"でも同じ。