I regularly backup some files to an external hard drive using rsync. Occasionally, I'll check the integrity of the files on disk with rsync in checksum mode to detect any bit rot.
This works fine, until today. My command is as follows:
rsync -nrvci source dest
-n for dry-run,
-r for recursive,
-v for verbosity,
-c for checksum mode, and
-i to see why a file is being changed.
This time, some files are being reported as having different checksums, which the itemized list shows with this string for all of the problem files:
This tells me according to the man page that the file is being transferred
>, that it's a file
f, that the checksum is different than the destination
c, and that because of this the timestamp is going to be changed upon copy
T. My assumptions could be wrong.
Anyways, when I run
md5sum source/file dest/file, it matches. I've even gone and added
--checksum-choice=md5 to my command to force rsync to use the md5 method to no avail, it still reports that the checksums are different.
What's going on with rsync and why is it seeing these files as different when they aren't?