次のコマンドを使用して、rsync (cygwin) を使用して 2 つのドライブを同期していますrsync -a -H /cygdrive/e/ /cygdrive/d/
。約 3 TB のデータと、おそらく約 100 万のファイル (ハード リンクを含む) があります。正しく記憶していれば、最初の実行には約 1 ~ 2 日かかりました。このコマンドを再実行すると、何も更新されていなくても長い時間がかかります。数時間から 12 時間かかります。これならもっと短時間で済むのではないでしょうか。
答え1
同じシステム上の 2 つの場所間でコピーしています。これにより、デルタ アルゴリズムがオフになり、rsync
の高度な実装に戻りますcp -a
。
この-H
フラグrsync
により、ターゲット内のハード リンクを再構築できるように、複数のハード リンクを持つすべてのファイルの記録を保持する必要があります。これにより、メモリ使用量が増加します (経験的にはかなり多いと言えます)。その結果、システムにかかる負荷が増大する可能性があります。
最後に、Cygwin はrsync
ネイティブの UNIX/Linux 実装よりもかなり低速です。これが Windows 上で互換性レイヤーを使用しているためなのか、ファイルシステムが遅いためなのか、あるいはまったく別の理由なのかはわかりません。ただし、同じハードウェア上で同じファイル セットを実行する場合、速度は遅くなります。
答え2
これは完全な回答ではありませんが、同じ状況に陥っている人にとっては非常に価値があると思います。私は最終的に Linux から rsync を実行しましたが、問題なく動作しました。この問題が発生する場合は、少なくとも CD からでも Ubuntu/CentOS またはお好みの Linux ディストリビューションを起動して、動作するかどうかを確認してください。