質問

ネットワーク上で廃止されるLinuxサーバー全体をコピーしたいので、何も失われていないことを確認します。

du / を実行したところ、/ GBが60 GB未満であると言われました

次に rsync -r / root @ newserver:/ old-server を実行し、 old-server dirで du を実行したとき22 GB。

では、なぜその違いがあるのですか? du は表示できるが rsync はコピーできないものはありますか?

役に立ちましたか?

解決

ファイルハンドルが開いているため、まだ割り当てを解除できないファイルを削除した可能性があります。 (duがそれらの使用法を見ることを以前は知りませんでしたが、いくつかのテストはそれがそれを示すことを示しました。) lsof 。私の経験からのこの2つの主な原因は、DROP TABLEを使用するのではなく、httpdをキックせずにApacheログを削除し、ファイルシステムからmysqlテーブルを削除することです。

他のヒント

少し時間があれば、違いが何であるかを正確に把握できます。 cd /;を実行します。見つける。 >古いサーバーの/ tmp / old cd / old-server;見つける。 >新しいサーバーで/ tmp / new を実行し、次に2つのファイルを vimdiff して変更内容を確認します。

rsync でのコピーを避ける必要がある特別なファイルシステムがいくつかあります。たとえば、 / proc / sys / tmp 。彼らはあなたが見る違いを説明するかもしれませんが、とにかく大きすぎるようです。

読み取り不能なディレクトリが存在する可能性があります(たとえば、 r または x がない場合)。 root 権限で実行されているプロセスが、最初に権限を修正せずにそのようなディレクトリにアクセスできるかどうかは覚えていません。

ファイルとそれらのmd5合計のリストを生成して比較します。

いくつかの提案:

  • スパースファイル(-Sを使用)
  • ハードリンク(-Hを使用)
  • / proc および / sys (--excludeまたは、-xを使用し、各ファイルシステムを個別にバックアップします)

同様の状況で rsync -axHSW --numeric-ids を使用する傾向があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top