When I bought my iMac, I did a restore from my MacBook TimeMachine backup. When I continued working on my current project, I did notice a difference between the files that were on my MacBook and the files on my iMac. The files restored from the backup were not up-to-date and were from a few days ago.
I tried this snippet on MacOSXHints to compare Time Machine backups to the original drive, and it found differences between the original disk and the backup.
After having tried the usual suspect, i.e. check the disks, check the prefs, I tried to force a backup, i.e. touch the files, touch the parent folder, but the files would not backup.
I solved this by doing a clean TimeMachine backup: erase the TM volume and do a full backup.
I also wrote an application (not yet released) to check for differences between TM and the original disk. It can compare files in 2 different ways: the first is to just compare the dates, sizes or attributes between the backup and the original, the second way is to compare the content of the files. This second method being of course considerably slower than the first.
After a month, the first method did not find any differences between the backup and the original. So far, so good.
But using the second method, I found differences between files. The file date, size are identical, but the content is not. Using the diff command on the files confirmed this.
Differences were found in text files, Excel files, and NetNewsWire files (in the Application Support/NetNewsWire folder).
For Excel files, the differences are not visible when opening the files, but can be seen using TextWrangler “Hex Dump File” feature:
00100860: 00 00 00 00 00 00 00 00 00 00 00 00 80 D2 AA 71 ...............q 00100870: 18 77 C8 01 FE FF FF FF 00 00 00 00 00 00 00 00 .w.............. 00100880: 57 00 6F 00 72 00 6B 00 62 00 6F 00 6F 00 6B 00 W.o.r.k.b.o.o.k.
00100860: 00 00 00 00 00 00 00 00 00 00 00 00 00 E6 C3 6E ...............n 00100870: A4 23 C8 01 FE FF FF FF 00 00 00 00 00 00 00 00 .#.............. 00100880: 57 00 6F 00 72 00 6B 00 62 00 6F 00 6F 00 6B 00 W.o.r.k.b.o.o.k.
So there is a 6 bytes difference between the original and the backup and I have no idea why.
Comparing text files (the files are perl scripts, shell scripts) using the same method shows that the original files have Mac (CR) line endings and the backup files have Unix (LF) line endings. I double checked using hexdump to make sure TextWrangler did not auto-translate the line endings.
So is TimeMachine acting on his own?