Friday, 20 November 2009

Browser for your OS X Time Machine Backups

Update: A better solution here.


Apple's Time Machine backup system for OS X is great. So far, thankfully, I've not had to rely on it (see below), and I guess that will be the real test as to whether it truly is as great as I believe it to be, but for now I really like it. It basically (see below) stays out of the way, runs entirely on its own, backs up in a smart way, and generally just works...

Backing up involves me remembering to plug my external hard drive in that sits on my desk. This is fairly easy for me since it's plugged into the same USB hub as my mouse, iPhone dock & camera cable... The only time I've had to use it is when I've accidentally deleted a file or two, nothing catastrophic, so I guess I can't really sing praises too highly until I actually attempt to restore my laptop from it.

The one issue that's come up a few times for me is that I'll want to unplug everything to go home from work and I'll notice it's still backing up, and it'll be doing some massive 1.5 GB or so backup... d'oh. But... why? I have no idea what it's backing up (sometimes I've just forgotten, for example, that I upgraded XCode earlier), and there's no way to see what it's actually doing. For that matter, what is the difference between each successive backup? The Apple Time Machine browser lets you see what's there at any point in time, but the curious are left unsatisfied, being unable to see how big individual backups are, or what's changed between versions. (At this stage I should point out to those unfamiliar with Time Machine that it makes incremental backups, so it only has to store the changes made to the disk rather than a full copy every single time).

I recently found a (very beta/pre-release) application called TimeTracker [download] from CharlesSoft (with the very apt tag-line of "software you always wished someone else would write" — I've been wishing for about a year for this app).

It lets you see a list of all the backups in the Time Machine database, how big each backup is (i.e. the size of the changes on the disk for that particular backup — not the entire size of all data backed up), and most importantly lets you browse through the backup seeing just the files that changed. So when you're wondering why Time Machine is suddenly backing up 200 MB every hour or two you can look back and see what folder it's all in... (Turns out Google Chrome on OS X doesn't store its cached webpages etc in the ~/Library/Caches like all good little OS X apps should *tsk tsk*).

TimeTracker Screenshot (the '0 bytes' backups are just ones I've not yet clicked on)

So, if you're like me, and you have no desire to backup caches, build directories from code projects, and sources files or data that you have backed up elsewhere, you can go into TimeTracker to see what's being pointlessly backed up and then:
  1. Open up the Time Machine browser (aka "Enter Time Machine"), right click on the unnecessary item, and select Delete all Backups of "..." to delete all the past backups of the item.
  2. Open up the Time Machine preference pane, click Options and add an exclusion for the unnecessary item so it doesn't get backed up in future.
As I said before, TimeTracker is fairly beta (it has no icon for example, and a couple of minor bugs) but for occasional use by the curious Time Machine operator, it's great!

For the especially curious, once you've gone and delete an item from your Time Machine backups, you may want to go into your ~/Library/Caches/com.charlessoft.TimeTracker/Backups/ folder and remove the contents so it refreshes the file/directory tree of the backups (otherwise it won't update the trees to show you the new sizes/files after you delete something).