How to copy files and folders (locally).
rsync -arvcEXtP source destination
Add options, "-l" and "-H" for symlinks and hard links if required. Add "-z" to compress is doing over the networks. Add "-u" to update and ignore newer files on destination.
diff -qr source destination
The diff is not required as using "-c" for checksum should be sufficent to compare rsync-ed files. This is just an additional paranoid step for critical files.