It kind of depends whether file dates and times are important or file contents...
If the dates are important (e.g. it's a syncing thing you are investigating) I would be running find
with ls -l
.
If the contents are important, I would want to be checking MD5 checksums like this:
find . -type f -print -exec md5 -q {} \; > somefile
That gives output like this:
./West Wales 14-Oct-09.axe
2c0c390bfc4206b8b88e11d537eacda8
./wl
44f84a91a98da15381a198e29417170c
./YOURFILE
ea102bc16e2b449e4ac6770b73cb9c50
./YOURFILE.BAK
a6ba1946cb666cb3b88ac31e6fb3f3f0
./z.html
b4554a1044abe07fd23d4580dd3055cc
Then on your local machine, read the file and calculate its checksum locally and compare that with the remote one:
#!/bin/bash
while read fname
do
read remotemd5
localmd5=$(md5 -q "$fname")
if [ $remotemd5 != $localmd5 ]; then
echo $fname $localmd5 $remotemd5
fi
done < file