手動で転送されたファイルの指紋が異なるため、rsyncはそれを同じファイルとして認識しませんか?

手動で転送されたファイルの指紋が異なるため、rsyncはそれを同じファイルとして認識しませんか?

私はこの質問に対する答えをすでに知っていると思いますが、確認したかったです。当時はrsyncを正しく理解していなかったので、ある仮想マシンから別の仮想マシンにファイルとフォルダを手動で転送しました。次のコマンドを実行して、既存の仮想マシン(たとえば)のフォルダ内のファイルを新しい仮想マシン(たとえば)のまったく同じ(手動で転送された)ファイルと比較する[email protected]:/home/myoldfolderとき[email protected]:/home/mynewfolder

rsync -a -v -c --dry-run [email protected]:/home/myoldfolder /home/mynewfolder

rsync は、デルタファイルのリストに同じファイルを表示します。

代わりに、rsyncを使用して同じファイルを新しい仮想マシンの別の新しいフォルダに同期してから比較を繰り返すと、デルタファイルのリストにファイルが表示されません。それはおそらく、rysncがそのファイルをまったく同じファイルとして認識しているからです。

rsyncを使用してファイルを同期しないと、ファイルのフィンガープリントが変更されるためですか?私の質問が明確になることを願っています。

ありがとうございます!

ベストアンサー1

ファイルの変更を識別するには、rsync次を使用します。

  • ファイルがあります(転送先にファイルがありません)
  • サイズ
  • 時間の変更

どちらかが一致しない場合、転送は完了です。具体的には、「手動」に複製すると、修正時間がターゲットシステムで維持されない可能性があります。

-cたとえば、rsyncでチェックサムベースの比較を強制したり(各ファイルが両側でチェックサムされているため遅い)、--size-only修正時間テストをスキップしたり、更新のみできます-u。つまり、最新のファイルからターゲットシステムに触れないでください。

おすすめ記事