rsyncができないことを何がわかるでしょうか?
-
10-07-2019 - |
質問
ネットワーク上で廃止される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合計のリストを生成して比較します。