rsync:2つのディレクトリを比較し、ターゲットを上書きするのではなく、別のファイルをコピーして名前を変更します。

rsync:2つのディレクトリを比較し、ターゲットを上書きするのではなく、別のファイルをコピーして名前を変更します。

Linuxでは、rsyncを使用して次のことを行うソリューションが見つかりませんでした。

  • 2つのフォルダの比較
  • 2つの同じファイルがソースツリーとターゲットツリーの同じルート位置にある場合、名前は同じですがタイムスタンプまたはサイズが異なります。
  • ソースファイル(より新しいサイズまたは大きいサイズ)をターゲットファイル(より小さいサイズまたは古いタイムスタンプ)に更新するのではなく、欠落しているブロックをコンテンツに追加(-uを使用)するか、ファイル全体を置き換え(-Wを使用)することによって必要に応じて:名前プレフィックスまたはサフィックスを使用して同じツリー位置にコピーします。

もう一つあります解決策上書きして古いファイルを失うことを避けるために、3番目のフォルダにコピーしてください。しかし、ターゲットの同じ場所にコピーして名前を変更すると、新しいファイルを保持して古いファイルもそのまま残ると思いました。ファイルは状況に合わせてより良くなります。ファイルの場所。

私が望む仕組みは次のとおりです。

ここに画像の説明を入力してください。

ベストアンサー1

私が正しく理解した場合は、ファイルのバージョンを指定したいと思います。これはで議論されました。前の質問、ディレクトリ全体を処理したい場合は除外されます。簡単に行うことができます(@Sridhar-Sarnobatの答えから取得)。

rsync -ab --suffix=`date +'.%F_%H-%M-%S'` ${SRC}/ ${DEST}

おすすめ記事