27

Web サイトをあるサーバーから別のサーバーに移動し、SCP を使用してファイルをコピーしました

すべてのファイルが正常にコピーされたことを確認したいと思います。

サイトを比較するにはどうすればよいですか?

フォルダのファイルをカウントしますか?

フォルダ ツリーの合計ファイル サイズを取得する

または、サイトを比較するより良い方法はありますか?

ポール

4

10 に答える 10

59

recursive-rおよび quick-qオプションで diff を使用します。これは、これを行うための最善かつ最速の方法です。

diff -r -q /path/to/dir1 /path/to/dir2

違いが何であるかはわかりませんが (-q オプションを削除して確認してください)、すべてのファイルが同じかどうかはすぐにわかります。

出力が表示されない場合は、すべてのファイルが同じです。それ以外の場合は、異なるファイルがリストされます。

于 2013-05-06T18:06:24.540 に答える
15

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 ページを確認してください。多くの巧妙なことを行うことができます。

于 2009-01-18T12:57:31.180 に答える
10
cd website
find . -type f -print | sort | xargs sha1sum

ファイルのチェックサムのリストを生成します。その後diff、不足している/追加された/異なるファイルがあるかどうかを確認できます。

于 2009-01-18T12:43:42.453 に答える
5

多分あなたはこれに似たものを使うことができます:

find <original root dir> | xargs md5sum  > original
find <new root dir> | xargs md5sum  > new
diff original new
于 2009-01-18T12:45:17.163 に答える
1

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 はそれらをチェックします。

于 2009-01-18T12:57:05.983 に答える
0

たとえば、md5sumを使用して、すべてのファイルのチェックサムを作成します。すべてのファイルですべて同じで、欠落しているファイルがなければ、すべて問題ありません。

于 2009-01-18T12:40:44.537 に答える
0

ディレクトリを再帰的に比較してみてください。ディレクトリの 1 つで何かが異なる場合、適切な要約が表示されます。

于 2009-01-18T12:42:33.923 に答える
0

あるサーバーから別のサーバーに Web サイトを移動しました SCP を使用してファイルをコピーしました

rsync でこれを行うことができます。何かをミラーリングしたいだけの場合に最適です。

/ヨハン

更新:@rjackが6秒でrsyncの回答で私を打ち負かしたようです:-)

于 2009-01-18T12:57:12.177 に答える