stocksy.co.uk
"the site for those who crave disappointment"

Sponsored Links

Getting Time Machine to Work The Way I Want

21st Mar 2008, 12:28:51

By James Stocks

There are loads of Time Machine hacks on the web. Here's mine.

My backup disks are installed in a Debian Linux server. I've been using a script to mount the disks over NFS and then rsync my data to them. Although this works, I really wanted to try Time Machine having just got a MacBook Pro with Leopard installed.

Note: This method is not supported by Apple and might be a bit flaky. Don't rely on it as your sole backup method. As with everything on this site, just because I wrote it, don't think for a moment that it's my fault if you break something.

Firstly, I used this command to enable 'Unsupported' network shares:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

I then mounted the NFS volume in the Finder (Go -> Connect to Server)

nfs://snakebite.spruce:/data

This allowed me to select the NFS volume as a backup disk in Time Machine preferences. However, trying to actually run a backup resulted in the following in the system.log:

Mar 19 21:27:26 mbp System Preferences[592]: Time Machine: Error 45 returned by NetAuthOpenSession()
Mar 19 21:31:08 mbp /System/Library/CoreServices/backupd[601]: Backup requested by user
Mar 19 21:31:08 mbp /System/Library/CoreServices/backupd[601]: Starting standard backup
Mar 19 21:31:08 mbp /System/Library/CoreServices/backupd[601]: Backup failed with error: 17

I tried a few tricks such as creating the disk image manually, but to no avail. In the end, I decided to use Samba to share the disk, since lots of people reported success with backing up to SMB/CIFS shares.

This was really easy on Debian:

Install Samba:

# apt-get update && apt-get install samba

Comment out all the existing shares in /etc/samba/smb.conf and append your share to the file:

[data]
comment = Backup area
path = /data
valid users = stocksy
public = no
writable = yes
create mask = 0765
guest ok = no

Set a Samba password for your user account:

# smbpasswd stocksy

Restart Samba

# /etc/init.d/samba restart

On the Mac, mount the share in the finder as before, but using the smb:// prefix.

smb://snakebite.spruce/data

This almost works, but Time Machine seems to have difficulty creating its disk image directly on the remote share. This is easy to correct:

sudo hdiutil create -size [size in GB]g -type SPARSEBUNDLE -nospotlight -volname "Time Machine" -fs HFS+J -verbose ~/Desktop/[Your\ Computer\ Name]_[YourMACAddress].sparsebundle

Replace the values between the [ ] with what you need, for example:

sudo hdiutil create -size 200g -type SPARSEBUNDLE -nospotlight -volname "Time Machine" -fs HFS+J -verbose ~/Desktop/mbp_000393ad15fc.sparsebundle

Then move the disk image to your share:

sudo mv ~/Desktop/*.sparsebundle /Volumes/data

It appears you have to use hdiutil to do this because Disk Utility.app will (probably) complain that there is not sufficient space to create the image on your desktop.

Now you can select your Samba share as the Time Machine destination in Time Machine preferences.

Selecting an (unsupported) volume

Hopefully it should confirm your selection in the preference pane:

Time Machine Preferences

If you choose 'Backup Now' from the Time Machine icon in the menu bar it should succeed.

Backup in progress

Successful Backup
If you don't have any luck, it is useful to look in /var/log/system.log

New Comments

Some Rights Reserved