rsyncは双方向で実行されますが、ディレクトリサイズは異なります。どうすればいいですか?

rsyncは双方向で実行されますが、ディレクトリサイズは異なります。どうすればいいですか?

/src2つのディレクトリ(&/dst)を同期して、両方のディレクトリのすべてのファイルをミラー化したいと思います。

次のステップは次のとおりです。

  1. sudo rsync -vaP --stats /src /dst->エラーなしで完了
  2. sudo rsync -vaP --stats /dst /src->エラーなしで完了
  3. diff -rq /src /dst-> 特に違いはありません。
  4. du -s /src && du -s /dstさまざまなサイズで表示されます(10%差)。

どうすればいいですか?私はこれに完全に立ち往生しています。

答え1

  • -Sこのフラグを使用しないと、レアファイルがレプリカから拡張される可能性があります。 (対象がより多くのスペースを占めるようになります)
  • -Hこのフラグを使用しないと、ツリーのハードリンクを別のコピーファイルに拡張できます。 (対象がより多くのスペースを占めるようになります)
  • ファイルシステムは割り当てサイズが異なる場合があります。シングルバイトファイルは、あるファイルシステムでは512バイトのディスク割り当てを占め、別のファイルシステムでは4096バイト(またはそれ以上)を占有できます。ツリーに小さなファイルがたくさんあると、大きな違いが発生します。 (状況によっては、目的地はより多くまたは少ないスペースを占めることができます)
  • ディレクトリは、一部のファイルシステムで現在のコンテンツを保持するのに必要なものよりもはるかに大きい場合があります。コンテンツをコピーすると、ターゲットディレクトリは小さくなります。一般的に大きな問題ではありませんが、いくつかの病理学的ディレクトリは途方もないかもしれません。 (対象が少ないスペースを占めるようになります)

ファイルシステムの圧縮/重複排除/冗長性設定も異なる可能性があるため、データのストレージ要件も異なります。しかし、これはあまり一般的ではなく、存在しても違いは常に目に見えるわけではありませんdu

関連情報