Sunday, November 9, 2008

Browsing Time Machine backups

OS X Leopard Time MachineImage by antwanp via FlickrAlthough Time Machine is a fantastic consumer-targeted solution for backups whose simplicity is fantastic, it unfortunately has it's drawbacks. It saved me quite some time when my graphic card died but when I wanted to browse through my backups on another computer (in my case with Ubuntu 8.10), I was quite surprised over details of implementation.

It appers that although you can browse through your Users directory, you can't just dive into any subdirectory and copy the file you are looking for to your current computer.

What you have to do is this (thanks to Carson!):

You have to run command ls -l which returns something like this:

me@desktop:/media/disk/Backups.backupdb/Computer Name/Latest/Disk/Users/username$ ls -l

-r--r--r-- 9891110 root 10239884 0 2008-04-21 20:19 Applications
-r--r--r-- 9861491 root 10239885 0 2008-04-21 20:19 Desktop
-r--r--r-- 10192194 root 10239886 0 2008-04-21 20:19 Dev
-r--r--r-- 10197872 root 10239887 0 2008-04-21 20:19 Documents

Here you have to take notice of the number in italic formating (forget about the bold for now). This number normally represents the number of files in that directory but in case of Time Machine this number is a unique identifier. To really access your file, you have to go to the top level directory of you external hard drive and look for a directory .HFS+ Private Directory Data - note the . before the name because it is a hidden directory.

Then you can either run command ls in that directory (but it will take some time and you get a bunch of directories that tell you nothing of it's content) or you can just type cd dir_10192194 (in this case I decided to look into the latest content of directory Dev that is printed in bold font before) that correctly lists all files in it. Note that if you want to go to a subdirectory, you again have to repeat the process and reference it in .HFS+ Private Directory Data.

Therefore restoring to a Windows/Linux system is possible, it's just not something you really want to be doing (especially to restore a large number of files). For that I would probably write a Python script or a new bash command (cdtm as in change directory time machine) to ease the pain of constantly checking which directory you have to go into to find your files.

Which could be a nice little project after I get my Macbook Pro back...

Reblog this post [with Zemanta]
blog comments powered by Disqus