Time Machine Backups to a Network Disk
Apple's Time Machine is a great system for managing client backups in a sensible way. Problem is, it depends on connectivity to a locally mounted disk, which doesn't really suit me. The reason it doesn't suit is because I don't want the constant hum of an extra disk drive while I'm working. Extra noise is bad. It also costs more to run, given that I have one or two servers powered up anyway.
Of course, Apple don't really want you to use network disks for Time Machine, unless it's a Time Capsule, which probably has special hacks to make it work reliably. You can get over Time Machine's initial silliness of pretending not to understand network disks by using the following command:
# defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
If you prefer point and drool, you can use Flux Capacitor to do the same thing.
So now, when you open up Time Machine in the System Preferences you can see network drives as available hosts. I use samba shares for this, and getting TM to use these is simple: just use the Finder to mount your network drive, and it will appear in the TM Preference panel. You can now select "Back Up Now" to start off the process, which will fail almost immediately with an error saying "The backup disk image could not be created".
This is normal. When creating sparseimages, OS X expects to be able to set particular file attributes which are not supported on SMB shares. The way around this problem is to take a note of the name of the sparsebundle which is created. This will be of the form:
Save As: <computer hostname>_<hex mac address of en0 interface>_.sparsebundle
Volume Name: Backup of <computer hostname>
Volume Size: the max amount of space you're going to set aside for backups.
Volume Format: Mac OS Extended (Journaled)
Partitions: No partition map
Image Format: sparse bundle disk image
Once Disk Utility has created this image, just copy it over to the network share:
mkdir /Volumes/timemachine/<computer hostname>_<hex mac address of en0 interface>.sparsebundle/
cp -r <computer hostname>_<hex mac address of en0 interface>.sparsebundle/ /Volumes/timemachine/<computer hostname>_<hex mac address of en0 interface>.sparsebundle/
Now, this partition should be visible in the TM configuration window. Just click on the entry you've just created in the TM preference panel, and you're ready to go!