web-dev-qa-db-ja.com

rsyncを使用して、Mac OSXで同じ名前のファイルを上書きせずにフォルダーを同期する

2つのディレクトリの内容を同期させたいのですが。

  • 上書きせずに、2つのファイルの名前が同じで、サイズが異なる場合にコピーを作成する
  • 2つのファイルの名前とサイズが同じ場合は重複しません。
  • 再帰的に作業するには

これまでのところ、私はうまくいくかもしれない次のコマンドを見つけました

 $ rsync -varE --progress ~/folder /volumes/server/folder

しかし、-Eフラグが何をするのか完全にはわかりません。これはbananica.comのユーザーによって提案されましたが、マニュアルにその説明が表示されませんでした。これは私が必要とすることをうまく行うでしょうか?

3
Adam-E

-Eは実際にはOSXで拡張属性を保持しますが、-a(-archive)は-p(-perms)を意味し、-executabilityを意味します。

-b(-backup)は、通常は上書きされるファイルの末尾にチルダを追加します。

rsync -ab ~/folder /Volumes/server/

-b --suffix _oldfile.txtの名前をfile.txt_oldに変更します

rsyncは、デフォルトでファイルサイズと変更時間の両方を比較します。 --size-サイズのみを比較します。 -cはチェックサムを比較しますが、速度は遅くなります。

5
Lri