rsyncがディレクトリが同じであることを確認するための最も迅速で信頼性の高い方法ですか?

rsyncがディレクトリが同じであることを確認するための最も迅速で信頼性の高い方法ですか?

修正する:もう一度読んでみると良い質問ではないようです。私の考えでは、このようなことを尋ねなければならないと思います。どのくらい信頼できますかrsync -aP --dry-run /origin /dest。もちろん、最も信頼できる方法がデータの整合性を確認する最速の方法ではありません。

答えは、rsyncがこれらのオプション(およびいくつかの失敗シナリオ)で何をするのかを滑らかに説明し、diffの実行内容に関する情報を提供するので、質問を残します。


問題は340GBフォルダをコピーしましたが、コピーが成功したことを確認したいと思います。rsync -aP /origin /destあるext4パーティションから別のパーティションにコピーします。

diff -r /origin /dest私は比較ソースとターゲットディレクトリを使用するのに非常に(非常に)長い時間がかかることを知っています。その後、ディレクトリを比較するために使用できると思いましたrsync -aP --dry-run /origin /dest。それから時間がかかりました。5秒(!)。 (私はtimeそれを測定するためにコマンドの前にこれを使用します。)

rsync -aP以来「デルタファイルリストを送信」メッセージだけが表示され、他のものは何も表示されません(他のファイルやコピーされていないファイルが一覧表示されます)。これは、両方のディレクトリが同じであることを確認するための最速かつ信頼性の高い方法であるという結論を下しました。 (オプションを使用する限り、rsync -aファイルとディレクトリも所有者、権限、変更時間などが同じです...-P意味します--progress。)

私は正しいですか?rsync -aP --dry-run /origin /destディレクトリが同じであることを確認するための最も迅速で信頼性の高い方法は何ですか?

ベストアンサー1

diff を使用すると、常にファイルの内容を読み取って内容の違いを見つけます。

デフォルトでは、rsync は、ファイル名、変更時間、ファイルサイズが 2 つの間で同じ場合、ファイルの内容を読みません。同じであれば、ファイルの内容が同じであると仮定して読みません。これにより、すでに同じ(またはほぼ同じ)ディレクトリの速度がはるかに高速になります。

ほとんどの場合、この動作は問題ではありません。同期の前後にファイルが同じ変更時間を持つために同じ1秒ウィンドウ内で変更されることは非常にまれです。そして同じファイルサイズを維持してください。そんなことがあっても大きな影響を与えることはほとんどありません。

--ignore-timesコマンドラインオプションを使用すると、rsyncに変更時間(またはサイズ)に関係なく常にファイルの内容を読み取ることができます。

おすすめ記事