I think differently about this than you do. When copying across mountpoints, I often do something like
tar cf - . | (cd target; tar xf -)
of course nowadays on OS X I prefer to use "ditto", but that's pretty much the same thing.
Then I at least do something like "du -s" on source and target to see if they're more or less the same size. And I do some "ls" operations to see if things look OK. Or if it's important data I'll run SHA256 on all source and destination files and compare results.
Then, and only then, do I delete the source.
Remember, you're not paranoid if the computer really is out to get you. :)
Edit: if I'm rearranging files and directories on the same filesystem, I'll just use "mv". But years of bugs and glitches on NFS and such have left me with a good healthy paranoia about copying data in general.
In my mind rsync is more complicated than the "tar | tar" idiom that I routinely typed.
For important data, the real secret is the verification before deleting source data. I used to have some simple scripts that did (more or less) the following on source and destination:
I'd have high confidence my files were safely copied when I compared those checksum files.
Nowadays I mostly use canned solutions like ditto or Carbon Copy Cloner (which uses rsync under the hood!) and let them do their thing. But I then also verify by using my own python script that uses "os.walk" to traverse the directory trees and uses "hashlib.hash256" to create file checksums.
Then I at least do something like "du -s" on source and target to see if they're more or less the same size. And I do some "ls" operations to see if things look OK. Or if it's important data I'll run SHA256 on all source and destination files and compare results.
Then, and only then, do I delete the source.
Remember, you're not paranoid if the computer really is out to get you. :)
Edit: if I'm rearranging files and directories on the same filesystem, I'll just use "mv". But years of bugs and glitches on NFS and such have left me with a good healthy paranoia about copying data in general.