tags:

views:

526

answers:

7

hi

I have moved a web site from one server to another and I copied the files using SCP

I now wish to check that all the files have been copied OK.

How do I compare the sites?

Count files for a folder?

Get the total files size for folder tree?

or is there a better way to compare the sites?

Paul

A: 

Make checksums for all files, for example using md5sum. If they're all the same for all the files and no file is missing, everything's OK.

schnaader
A: 

Try diffing your directory recursively. You'll get a nice summary if something is different in one of the directories.

driAn
+4  A: 
cd website
find . -type f -print | sort | xargs sha1sum

will produce a list of checksums for the files. You can then diff those to see if there are any missing/added/different files.

Douglas Leeder
+1  A: 

maybe you can use something similar to this:

find <original root dir> | xargs md5sum  > original
find <new root dir> | xargs md5sum  > new
diff original new
Eineki
+1  A: 

If you used scp, you probably can also use rsync over ssh.

rsync -avH --delete-after 1.example.com:/path/to/your/dir 2.example.com:/path/to/your/

rsync does the checksums for you.

Be sure to use the -n option to perform a dry-run. Check the manual page.

I prefer rsync over scp or even local cp, every time I can use it.

If rsync is not an option, md5sum can generate md5 digests and md5sumc --check will check them.

rjack
A: 

I have been move a web site from one server to another I copied the files using SCP

You could do this with rsync, it is great if you just want to mirror something.

/Johan

Update : Seems like @rjack beat me with the rsync answer with 6 seconds :-)

Johan
+8  A: 

If you were using scp, you could probably have used rsync.

rsync won't transfer files that are already up to date, so you can use it to verify a copy is current by simply running rsync again.

If you were doing something like this on the old host:

scp -r from/my/dir newhost:/to/new/dir

Then you could do something like

rsync -a --progress from/my/dir newhost:/to/new/dir

The '-a' is short for 'archive' which does a recursive copy and preserves permissions, ownerships etc. Check the man page for more info, as it can do a lot of clever things.

Paul Dixon