Mac OS X で同じ名前のファイルを上書きせずにフォルダを同期するために rsync を使用する

Mac OS X で同じ名前のファイルを上書きせずにフォルダを同期するために rsync を使用する

2 つのディレクトリの内容を同期したいと思います。

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

これまでのところ、次のコマンドが機能する可能性があることがわかりました。

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

しかし、フラグが何をするのかよく分かりません-E。bananica.com のユーザーから提案されましたが、マニュアルには説明がありませんでした。これで必要なことはうまくできるでしょうか?

答え1

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

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

rsync -ab ~/folder /Volumes/server/

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

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

関連情報