rsync 実行時に変更のみを表示

rsync 実行時に変更のみを表示

rsyncMacから外付けハードドライブにファイルをバックアップするために使用します。たとえば、

rsync -av --delete ~/Pictures/ "/Volumes/My Passport/Mac Backups/Pictures"

これを実行する前に、次のオプションを追加してテスト実行で同じコマンドを実行しました-n

rsync -avn --delete ~/Pictures/ "/Volumes/My Passport/Mac Backups/Pictures"

私が知っているのは、コピー/変更されたコンテンツの違いだけを見るべきですが、何らかの理由ですべてのフォルダとファイルが印刷されています。ただし、2つのフォルダを使用して同じコマンドをローカルでテストすると、変更の違いのみが表示されます。なぜこれが起こるのですか?どうすれば解決できますか?

修正する:

オプションを追加した後-i(学習者の回答のおかげで)、すべてのファイルがリストされている理由を確認できました。権限がコピーされないようです。すべてのフォルダ(およびファイル)には次のものが含まれます。

.d...p... my folder/

権限をコピーするオプションを追加しましたが、まだ運-p-oありません。-gどんなアイデアがありますか?

ベストアンサー1

-iを表すrsyncオプションがあります--itemize-changes。 rsyncのマニュアルにはそうなるだろうと述べています。「すべての更新に対する変更要約の出力」

どのファイルとディレクトリが変更され、ソースディレクトリからターゲットディレクトリに移動されたかが表示されます。また、rsyncがファイルが変更されたと仮定する理由も示しています。たとえば、ソースファイルがターゲットファイルとサイズが異なる、タイムスタンプが異なる、または権限が異なるためです。

ここに例があります。私が作ったdirectory1directory2。どちらにも名前付きファイルが含まれており、両方のファイルの中textfileに文字「A」しかありません。ただし、ディレクトリ1のファイルはタイムスタンプが異なります。したがって、実行結果はrsync -ahzi directory1/ directory2/次のようになります。

.d..t...... ./
>f..t...... textfile

>ファイルが異なるため、ローカルの宛先に転送されたことを意味します(たとえば、ファイルを同期すると、そのファイルがリモートの宛先になるために表示されます192.168.1.100:/some/directory)。 「ファイル」を意味し、ファイルに異なるタイムスタンプがあることを意味します。<ft

さて、ファイルの内容も変更されたらどうなりますか?私は「AB」文字を含むようにディレクトリ1のテキストファイルを編集しました。その後、以下を実行しましたrsync -ahzi directory1/ directory2/

.d..t...... ./
>f.st...... textfile

>宛先が異なるため、ファイルが宛先に転送されたことを示します。これはsファイルのサイズが異なり、tタイムスタンプも異なることを示します。

この出力で見ることができる他の「フラグ」は次のとおりです。

p - Permission are different
o - Owner is different
g - Group is different
a - The ACL information changed

私のソースには、これらすべてのフラグの説明があります。http://andreafrancia.blogspot.com/2010/03/as-you-may-know-rsyncs-delete-options.html

おすすめ記事