rsyncを使用して、ローカルファイル、リモートファイル、および一方には存在するが他のファイルにはないファイルを区別します。

rsyncを使用して、ローカルファイル、リモートファイル、および一方には存在するが他のファイルにはないファイルを区別します。

次のコマンドを使用して、ローカルコンピュータとリモートコンピュータのディレクトリを比較します。

rsync -K --delete -n -avrc $cwd/* simon@${othIP}:$cwd    > /tmp/output

マクロには明確な値があります。

/tmp/outputその後、同期後にリモートで削除されるファイルを見つけるために解析できます。

しかし、ファイルを区別する必要があります。

    - exist on the *local* but do not exist on the *remote*

    - exist on both but are different.

(@ BowlOfRedが指摘したように、上記のコマンドはするリモートにはあるがローカルにはないファイルを識別できます。 )

誰でもこれを行う方法をお勧めできますか?どんなアドバイスでも心から感謝します

ベストアンサー1

リモートに存在するがローカルには存在しないファイルは削除され、詳細な出力に「削除済み」と表示されます。ファイル名」。

両方に存在しますが、異なるファイルが更新されます。ファイル名のみを表示します(前に「削除」なし)。

「新しい」ファイルと「更新された」ファイルを区別する必要がある場合は、-iフラグを追加してください。新しいファイルにはすべての属性が「+」と表示され、更新されたファイルには特定の属性が表示されます。

$ echo update > a/update ; echo new > a/new
$ rm a/delete_me_later
$ rsync --delete -ai a/ b/
*deleting   delete_me_later
.d..t....... ./
>f++++++++++ new
>f.st....... update

おすすめ記事