Offsite Time Machine Backups

backupmac-osxtime-machine

I have Time Machine working nicely, making snappshotted backups on a regular basis. The backed up files are easily & quickly available.

I would like to make an offsite copy of these backups for ultimate safety. I already have a webhost (Dreamhost) with lots of available space. I'd like to find the best way to transfer these files.

Ideally, this system should as many of the following as possible:

  • Fast
  • Low-bandwidth
  • Secure / encrypted on the remote end
  • Preserving the various snapshots / versions that TM makes
  • Able to browse the backed up files through standard UNIX shell commands (like "ls")
  • Reliable: a broken remote backup operation shouldn't render the entire backup unusable
  • Easy to set up

Best Answer

The ideal solution is to create a sparsebundle image and to sync that. This can be most easily done by sharing the drive over the network and pointing Time Machine to it and starting a fresh backup.

You can also find information on creating a custom sparsebundle to use as a Time Machine backup.

The reason to do this is because a sparsebundle stores its data spread over a collection of files (8MB 'bands'). If you have a sparsebundle, you can rync it to the remote server, and rsync can just transfer the bands that have changed. With Time Machine, you typically just append onto the end, so you'll only usually be syncing the last few bands up.

Once a given band is full and OS X creates another one, the now-full band won't be written to anymore. It gets copied up one last time, and never touched again. The new band gets copied every time rsync is run until it too fills up and stops being written to.

For extra fun, there are options you can pass to hdiutil to create an encrypted disk image, so that if someone breaks into your Dreamhost machine they won't be able to harvest your files.