Web サイトをあるサーバーから別のサーバーに移動し、SCP を使用してファイルをコピーしました
すべてのファイルが正常にコピーされたことを確認したいと思います。
サイトを比較するにはどうすればよいですか?
フォルダのファイルをカウントしますか?
フォルダ ツリーの合計ファイル サイズを取得する
または、サイトを比較するより良い方法はありますか?
ポール
recursive-r
および quick-q
オプションで diff を使用します。これは、これを行うための最善かつ最速の方法です。
diff -r -q /path/to/dir1 /path/to/dir2
違いが何であるかはわかりませんが (-q オプションを削除して確認してください)、すべてのファイルが同じかどうかはすぐにわかります。
出力が表示されない場合は、すべてのファイルが同じです。それ以外の場合は、異なるファイルがリストされます。
scp を使用していた場合は、おそらくrsyncを使用できたはずです。
rsync はすでに最新のファイルを転送しないため、rsync を再度実行するだけでコピーが最新であることを確認できます。
古いホストで次のようなことをしていた場合:
scp -r from/my/dir newhost:/to/new/dir
次に、次のようなことができます
rsync -a --progress from/my/dir newhost:/to/new/dir
「-a」は「アーカイブ」の略で、再帰的なコピーを行い、パーミッションや所有権などを保持します。詳細については、man ページを確認してください。多くの巧妙なことを行うことができます。
cd website
find . -type f -print | sort | xargs sha1sum
ファイルのチェックサムのリストを生成します。その後diff
、不足している/追加された/異なるファイルがあるかどうかを確認できます。
多分あなたはこれに似たものを使うことができます:
find <original root dir> | xargs md5sum > original
find <new root dir> | xargs md5sum > new
diff original new
scp を使用した場合は、おそらく ssh で rsync を使用することもできます。
rsync -avH --delete-after 1.example.com:/path/to/your/dir 2.example.com:/path/to/your/
rsync がチェックサムを行います。
-n オプションを使用して予行演習を実行してください。マニュアルページを確認してください。
私は、使用できるたびに、scp またはローカル cp よりも rsync を好みます。
rsync がオプションでない場合、md5sum は md5 ダイジェストを生成でき、md5sumc --check はそれらをチェックします。
たとえば、md5sumを使用して、すべてのファイルのチェックサムを作成します。すべてのファイルですべて同じで、欠落しているファイルがなければ、すべて問題ありません。
ディレクトリを再帰的に比較してみてください。ディレクトリの 1 つで何かが異なる場合、適切な要約が表示されます。
あるサーバーから別のサーバーに Web サイトを移動しました SCP を使用してファイルをコピーしました
rsync でこれを行うことができます。何かをミラーリングしたいだけの場合に最適です。
/ヨハン
更新:@rjackが6秒でrsyncの回答で私を打ち負かしたようです:-)