A Fix for Time Machine on OSX 10.5.3 over AFP for .mac Users

tags: osx, backup, time machine, code

So the Mac OS X 10.5.3 update broke Time Machine for me.

The update did fix Time Machine backups over the network for many people, but not for me. Lots of folks have tried various things to fix the problem (like standing on their head, reformatting, fingering prayer beads). Here’s what fixed Time Machine over AFP for me.

I had a setup that was backing up perfectly on 10.5.2.

  • MacBook connected to wifi network
  • Mac Mini with external drive
  • A shared folder on the Mini’s external drive (called “backups”) that was the Time Machine backup target. This folder contains the sparse bundle holds all the MacBook’s backups
  • Access to the Mini’s “backups” share was through a .Mac login
    • Here’s how I knew that: Browsing to Mini in Finder shows “Connected as: blahblah@mac.com” in the gray bar
    • And the local usernames on the two machines were different (the same .Mac login accessed harold on the MacBook and freddy on the Mini)

After the 10.5.3 update, Time Machine said “The backup volume could not be mounted” – again and again. Console’s system log showed backupd errors 18 and sometimes 19.

Worse, I couldn’t choose “backups” as the destination for Time Machine. As it turns out, there are two problems with this setup that Leopard 10.5.3 doesn’t like – even though 10.5 through 10.5.2 were fine with it.

  1. 10.5.3 Time Machine now apparently can’t use a share accessed by a .mac login
    • At least when they point to different local usernames. Let us know in the comments if it works for you with .mac at all
  2. Permissions on previous sparse bundle backups now seem to confuse Time Machine
    • Again, this is likely due to the .mac credentials

I was able to fix -the first of these problems and work around the second- both problems, which got Time Machine backing up over the network.

-I am so far unable to access previous Time Machine backups, though, so I’m still experimenting with the second.-

Fixing Problem Number 1 - Connect as you you, not .mac you

  1. On MacBook, start System Preferences, and choose Time Machine
  2. “Change disk”, and select “None”
    • This turns Time Machine backups off for now.
    • Some folks say you need to reboot now
  3. On MacBook unmount any of Mini’s shares
  4. Over on Mini, share your backup share with both your user and Administrators; both need Read & Write access
  5. Back on MacBook, connect to “backups” on Mini as your username
    • The .Mac user is the default, so you’ll probably need to disconnect, then connect as yourself
  6. On MacBook, start System Preferences, and choose Time Machine
  7. “Change disk”, and select “Backups (mini)”
    • “Backups” should be in the list now. If not, reboot and start from step 4.
  8. Enter your username and password. With this, Time Machine will be able to mount your share automatically when it’s ready to back up
  9. Try to “Back up now” in Time Machine

If it works, congratulations, you’re done. For me, it didn’t – probably because the previous .mac login connected as different users on Mini and MacBook. Since you’re not likely to have such a bizzarro-world setup, you’re probably home free. Let us know in the comments.

Fixing Problem Number 2 - sparsebundle permissions

Because of my .mac username hijinks (the same .Mac login accessed harold on the MacBook and freddy on the Mini), I still couldn’t back up.

Console told me I was now getting backupd error 18 in system.log:

/System/Library/CoreServices/backupd: Volume at path /Volumes/Backups-1 does not appear to be the correct backup volume for this computer. (Cookies do not match) /System/Library/CoreServices/backupd: Backup failed with error: 18

In theory, changing permissions on the sparsebundle to MacBook’s user ought to work. -Only it didn’t for me.-

-Instead, I moved the sparsebundle on Mini to another folder. From there, MacBook’s Time Machine backed up just fine, though any backups made under 10.5.2 or earlier are lost.-

Update 1 Jun: It does work, but I had to change two things to get access to the old backups.

  1. Give the local user read and write permissions on the sparsebundle. Use Finder on the Mini to do this, as ACLs are involved. It will take a long time.
  2. From Terminal on Mini, change ownership of the sparsebundle to the local user (use your username in place of “eric” and your sparsebundle name in place of “greatnorthern…”):
sudo chown -R eric greatnorthern_0017f2f16a4e.sparsebundle

After this, backups over wifi worked – though the first backup took a very very long time preparing.

The good news? 10.5.3 is much smarter about network backups. Time Machine will mount the share automatically when it’s time to back up – or when you enter Time Machine. For a laptop, Time Machine backups are now truly seamless.

If only the upgrade was painless!