Keep Your Address Book in Sync with Dropbox (Mac OS X)

Disclaimer: some users have reported that this method does not work properly. Rest assured that it works, but I only recommend it for people comfortable with the Terminal. There’s a lot of room for error.

Please back up your Address Book before attempting this method. I am not responsible for lost data. Please see the comments below for further commentary.

Here is a little tip for you Mac users out there. We have written about the awesome, cross-platform Dropbox service before (here and here), and while it’s great for keeping ordinary files and folders in sync across the Internet, there are a few more clever uses for it.

With a tiny bit of command-line magic, you can easily keep your Mac OS X Address Book backed up online and synced to other Macs. Here’s how:

Preliminary Steps

First of all, download and install Dropbox on any OS X machines that you wish to sync. Finished? Excellent!

Next, go ahead and make a backup of your Address Book (optional, but strongly recommended). Just go to File → Export → Address Book Archive….

Keep that export handy in case things go wrong.

Link Address Book to Dropbox

Here’s the fun part. To make this process work, Address Book needs to be able to save data to your Dropbox folder. At present, Dropbox can only sync ONE folder (and everything in it). So, you see the problem? Address Book keeps all its data inside ~/Library/Application Support/AddressBook, and we need to trick Address Book into saving to your Dropbox folder.

Symbolic Links to the rescue! We can easily fool Address Book by creating a symlink.

Step 1 – First, we’re going to move the Address Book data files to your Dropbox folder. Make sure Address Book is closed. Launch Terminal (in your Utilities folder), and assuming your Dropbox folder is inside your Home directory, issue this command:

mv ~/Library/Application\ Support/AddressBook ~/Dropbox/

Step 2 – Now, create the symbolic link. The format is ln -s [destination] [name of file or folder]. The syntax does not change as to whether the link is to a file or a folder. Still in Terminal, type:

ln -s ~/Dropbox/AddressBook/ ~/Library/Application\ Support/AddressBook

That’s it. You’re done. Try launching Address Book and make sure your contacts are still there. Now when you add a new contact and it, you should see Dropbox update as well. Notice the tiny, green Dropbox check marks on my AddressBook linked folder:

Adding Other Macs

To add another OS X machine to the mix, just repeat these steps (except for the first mv command). In short, just install Dropbox, make sure Address Book is closed, and then:

  1. Delete the AddressBook folder from ~/Library/Application Support
  2. Create the symlink (ln -s ~/Dropbox/AddressBook/ ~/Library/Application\ Support/AddressBook)

There you go. Address Book will stay syncronized and backed up online.

56 thoughts on “Keep Your Address Book in Sync with Dropbox (Mac OS X)

  1. This didn’t work for me? :(

    I got it all moved correctly and terminal created a symlink, but the symlink appears as a file alias in finder and doesn’t pretend it’s pointing to the dropbox containing folder.

    Any clues?

  2. for my paths:

    mv ~/Library/Application\ Support/AddressBook ~/Documents/Dropbox/Backup/

    needed to be:

    mv ~/Library/Application\ Support/AddressBook ~/Documents/Dropbox/Backup/AddressBook/

    coz the symlink was created looking for a directory that didn’t exist (might wanna check your terminal stuff up there).

    Anyway it all works well now, so thanks very much!

  3. Ed – your path differs from my instructions in that you added a subfolder called Backup. There’s nothing wrong with that, but if you change the directory structure you have to accommodate for it (which you did).

    My Terminal instructions work fine if you don’t mind the AddressBook folder inside the Dropbox folder without any subfolders.

    Glad you got it working! :-)

  4. Sounds interesting. I was just about to try Fruux, but since I’m already a Dropbox user, I think I’ll give this a try.

    I wonder if this trick would also work for iCal?

  5. Hey, well I did as the guide said and ended up with an addressbook that doesn’t want to open… What do I type in Terminal to un-do this? Or how do I fix it…

  6. Same here as Spraycan – now my address book won’t open. I guess I’ll need to reinstall it which is a pain. Not convinced these instructions are sound, as I copied them to the letter.

  7. I’m sure you published this with the best of intent, but I think you should take this advice down, as it simply seems to break the address book app.

  8. Spraycan and Simon – I’m sorry that it doesn’t work for you, but I assure you that it DOES work. I’m currently using my Address Book in the manner that I describe.

    I will put a disclaimer on the article as there are many things that can go wrong. If your path/folder hierarchy differs, you MUST make accommodations for it. It is also essential to use TAB to auto-complete the path names in the Terminal, because even a single incorrect character (or case) that you type will render the symbolic link useless. Did you remember to escape the space with the backslash character (\)?

    The other limitation is that this method will only work on one User account because Dropbox keeps its files inside your Home directory.

    Re-installing should be unnecessary. To restore your Address Book files, just drag-and-drop them from Dropbox back to the appropriate place (~/Library/Application Support/AddressBook).

    Once again, I assure you that this method works. There’s just a lot of room for error.

    Best wishes.

  9. It worked for me!

    Here’s what I did:
    I quit AddressBook on my desktop mac.

    I used Finder to move the “AddressBook” folder from “/Library/Application Support” to my dropbox folder.

    Leaving the two Finder windows open, I then opened up Terminal.

    I made the sym link by typing this “ln -s ” (note the space at the end and don’t type the quotes and don’t press Return)

    Then I dragged the Dropbox/AddressBook folder from the finder window into the Terminal window. Terminal now looks like this:
    ln -s /Users/mike/Dropbox/AddressBook

    Then I dragged the “Application Support” folder into the Terminal window. It now looks like this:
    /Users/mike/Dropbox/AddressBook /Users/mike/Library/Application\ Support

    (I dragged the folders into Terminal to avoid typing errors)

    Nowwww hit Return.

    Then on my portable mac:
    Quit Address Book
    Delete the Address Book folder from “/Library/Application Support”
    Create the sym link using terminal, just like I did on the desktop mac.

    On both machines, the AddressBook folder shows as an “Alias” in the Application Support folder.

  10. Brain, thanks for the howto!

    For those people having an issue with these instructions, MAKE SURE THAT YOU DONT ADD ANY EXTRA SPACES TO THE END OF THE COMMANDS BEFORE YOU HIT ENTER.

    If you copy and paste into terminal, you can often get an extraneous blank character at the end of the command line.

    To verify that your symlink is working correctly, try ‘cd’ing’ into your symlink after creating it.

    cd ~/Library/Application\ Support/AddressBook

    you should be able to ‘ls -l’ and see something like this:


    -rw-r--r-- 1 john staff 372736 Jan 30 08:37 AddressBook-v22.abcddb
    drwxr-xr-x 23 john staff 782 Jan 30 08:21 Images
    -rw-r--r-- 1 john staff 114688 Jan 29 23:01 MailRecents-v4.abcdmr
    drwxr-xr-x 89 john staff 3026 Jan 30 08:37 Metadata

    If so, launch Address Book. If not, don’t blame Brian for your mistakes – instead, try again, and again, until you get it right. You’ll only end up more knowledgeable for your efforts.

  11. One trick, taken from a document off the dropbox website suggests that while creating simlinks and such that you temporarialy disable dropbox itself.

    See the following document for further instructions…
    http://dl.getdropbox.com/u/87620/Dropbox%20Tutorials/OS%20X%20Symlinks/Dropbox%20Tutorial%20-%20OS%20X%20Symlinks.pdf

    and this…
    http://wiki.getdropbox.com/TipsAndTricks/SyncOtherFolders

    I have multiple “external” folders all syncing right now. I did, however, opt to use simlinks within the dropobox folder as opposed to keeping data there and putting the simlinks elsewhere

  12. Thanks for the idea! worls great!!

    The ical sync also works like charm!!

    for the ical settings, type this..

    mv ~/Library/Calendars ~/Dropbox/

    and

    ln -s ~/Dropbox/Calendars/ ~/Library/Calendars

    Even works for google earth – type this:

    mv ~/Library/Application\ Support/Google\ Earth ~/Dropbox/

    and

    ln -s ~/Dropbox/Google\ Earth/ ~/Library/Application\ Support/Google\ Earth

    Hope this is useful!!

  13. This is a great tip that Brian wrote, and it uses a tactic that would work equally well for syncing bookmarks, preferences, even your iTunes library (but watch out with anything that uses large files).

    For those users who struggle with the Terminal commands that were outlined above, I recommend just doing a standard drag-and-drop using OS X’s Finder. And if you must use a Terminal command, try dragging the file or folder directly to the Terminal — this will cause its path & name to appear in the Terminal. This will help ensure that the correct path is generated for use by the Terminal commands.

    For example, instead of using the Terminal’s “mv” (i.e. move) command, just drag your ~/Library/Application\ Support/AddressBook folder directly over to your DropBox folder. Then to create the symbolic link, open up the Terminal and type:
    ln -s
    but DON’T hit enter yet. Drag your Address Book folder (from inside your DropBox folder) into the Terminal window. You should now see something like:
    ln -s /Users/everett/Dropbox/Private/AddressBook

    DON’T hit enter yet. You still need to paste in the text for where you’re creating this symlink. Paste in the final bit of text using the standard copy/paste technique: ~/Library/Application\ Support/AddressBook
    so that your full command looks something like this
    ln -s /Users/everett/Dropbox/Private/AddressBook ~/Library/Application\ Support/AddressBook

    Now, hit enter in the Terminal and the command will execute. Doing it this way is less prone to error.

    Great tip, Brian.

  14. I used this method for a while, but there are edge cases where it might go wrong (because of file locking issues), for instance when accessing on both Macs at the same time. Dropbox is great for filesyncing, but for syncing contacts and ical stuff there are other tools which are more suitable. Like SpanningSync, BusySync or my personal favorite fruux.

  15. Just a quick update, for whatever reason hitting option-apple and dragging to create the alias to AddressBook into the support folder didn’t work at all. AddressBook just quit on open. Using the terminal command “ln -s ” allowed the application to load without needing to do anything else.

  16. it appears i have file locking issues that Josh spoke of above. since trying to sync my address book w/dropbox, i can no longer open address book on my imac (os x 10.5.7). can anyone help?

  17. Have got this working but somehow the individual machines have created their individual contents we are sharing the same dropbox location

    I have all these files in the dropbox:
    (Graeme’s conflicted copy 2009-05-27).info
    ABPerson.skIndexInverted
    ABSubscribedPerson.skIndexInverted
    AddressBook-v22.abcddb
    AddressBook.data
    AddressBook.data.previous
    Images
    LastImport.plist
    MailRecents-v4.abcdmr
    Metadata

    The metadata files are named like:
    6A784012-E458-11DC-AC35-000A95D48A26/ABPerson.abcdp

    How can i get back to one single source in the dropbox so changes made on one machine are reflected on both systems. Both sytsems are sharing the same dropbox there are no additional files in application support just the link to the dropbox

    Have tried deleting the extra files. One machine keeps its data the other loses all content ends up with an empty address book.

    Help

  18. I did this yesterday to sync my addressbook between my MacPro and my MacBook Pro. It was working great, at first!.

    Then this morning, I opened AddressBook on the MacPro and there was nothing! But the addressoobk accessed through Mail was still there. But after I exited Mail and restarted, there are now no addresses there as well.

    Same thing on my MacBook Pro.

    Interestingly enough, the AddressBook folder in Dropbox still seems to be updating because the Date Modified field changes everytine I do something with AddressBook.

  19. You can use this on a networked shared hard drive instead of Dropbox.
    Great for AddressBook and iCal.

    Enjoy…..

  20. What if the DropBox method for Address Book date involves two DropBox accounts with a shared folder? Imagine a family wanting to share and update a single Address Book – would it work?

  21. Brian’s disclaimer “some users have reported that this method does not work properly. Rest assured that it works” ignores the problem of conflicts. If you are one person sharing AddressBook across machines you may be fine, but if you are sharing between people (as my wife and I are), this data is prone to conflicts.

    One symptom for me is opening AB and seeing no cards at all; Chuck M and I may be experiencing the same problem.

    I don’t have a solution yet.

    1Password, for one, seems much more robust re: conflicts over Dropbox.

  22. Dropbox’s nice for syncing, worked fine for my purposes. Though now I’ve found a free alternative called SyncMate, I may use it further on, but need to test for a couple of days.

  23. hi, for some reason I cannot get it to work. I have tiger, I think there might be some path issues which differ slightly. both copy&paste and the dragging didn’t do the trick, the first computer syncs into dropbox, the second does not. any help? regards, leo

  24. OP is right. This does indeed work. However, there are A LOT of caveats to syncing the addressbook. You SHOULD calculate DATALOSS in there. Dropbox is a very SIMPLE synchronizer and should be used with great CAUTION and ONLY after making continuous backups.

    If someone is suffering from heart disease or high blood pressure…. DONT EVEN BEGIN TO USE DROPBOX

    That been said, Dropbox beats the H**** out of Mobile Me which is even worse.

  25. I found that the problem of address book refusing to open was cause when syncing a mac running snow leopard with a mac running just plain leopard.

    heres the fix

    -assuming u have already done the stem above delete the symlink that is in /Library/Application\ Support
    -then open address book (notice a new address book folder is created in Application support)
    -now quit address book
    -go into your dropbox folder and open Address book folder
    -rightclick on Metadata
    -Make Alias
    -move that alias into /Library/Application\ Support/AddressBook
    -and lastly remove “alias” from “Metadata alias”
    -open adress book and you are done

  26. My question is this… if your data is then being stored online (via Dropbox) will you still be able to access your contacts if your computer is not online or if the site goes down for some reason?

  27. This post is one year old but anyway…IMHO, the best and safest way is to do as recommended by fracai: leave all your application folders in your ~/Library and create symlinks to DropBox. For example:

    ln -s ~/Library/Application\ Support/MacJournal ~/Dropbox/MacJournal

    I did that for MJ, Things (the entire “Cultured Code” folder), and a couple of folders in my home folder and, up until now (1 month), it’s been working perfectly.

    Again: http://wiki.getdropbox.com/TipsAndTricks/SyncOtherFolders

    All the best,

    Jack

  28. This is great… but it won’t help you sync calendars and contacts to your iPhone/iPod/iPad… unless there is some App Store app or hack I don’t know about.

  29. This works great. I have a desktop and a laptop synced which means my ipod that uses the laptop for syncing is up to date too. Excellent tip. Thanks!

  30. I think I have messed up somewhere. First I had only 2 macs and everything worked ok for a few months. Then I added another mac and now when I go to my address book on my First mac there are no contacts. I don’t know what I have done wrong. Is there a way to return to the apple default and start again if ofcourse I can use 3 macs.
    Thank you for your time

  31. WHen I put in the command line I keep getting -bash: In: command not found

    nwora-fairleys-mac-pro:~ nwora$ In -s ~/Dropbox/AddressBook/ ~/Library/Application\ Support/AddressBook
    -bash: In: command not found
    nwora-fairleys-mac-pro:~ nwora$

    What am I doing wrong?

  32. The solution described here works fine for sharing an Address Book database, but other problems seem to occur as unintended consequences of moving the database to Dropbox. The Apple Mail app, which relies on the Address Book database, gets confused and automatic email address completion seems to have become unreliable. Are others having this problem?

  33. Be careful, as well, if you are syncing the Address Book with any secondary sites or hardware — for example, with an iPhone. Such syncing can lead to problems, as I’ve had when updating my iPhone software. Be sure to create a backup copy of your Address Book database before syncing or making changes to your iPhone.

  34. After a month or so of trying this method, I’ve given up. It was too unreliable. Once, I opened Address Book to find that all my contacts were simply gone. Fortunately, I had a relatively recent backup. But Dropbox sync for Address Book does not seem like something that actually saves me any trouble or effort; it’s not ready for prime time. For now I am using Google Sync instead. This method, too, has its problems if you are syncing two computers with your Gmail contact list, but it’s still more reliable than using the symlink/Dropbox method.

  35. No problem here, make sure you do not have any Addressbook open, then the folder in “Application Support” will not be deleted.

    Great hint! Thank you very much! This makes my life quite a bit easier. :-)

    Bernd

  36. Great technique, working like a charm.

    Issues with Apple Mail though as others have noted: the ‘add to address book’ or ‘update existing contact’ functions from within Apple Mail no longer work.

    There’s probably a nice little solution for this with another symlink (I hope!)

    Any ideas?

    OSX 10.6.4

    Thanks :)

  37. And what happens when i add a new contact on my laptop and change one on my iMac then sync both?

    I assume i loose one of the edits because DB simply copies the addressbook database. And not individual changes. This solution, while a easy one to set up. Is kinda simple and rubbish in that way since when you change things often on several computers you’re never sure which changes make it to the final sync.

  38. This technique worked for about a week and then I started to experience data loss in many of my vcards.
    This was specifically syncing between snow leopard and leopard. (I think this is the reason for problems)

    I can vouch that that the symlink method does work very well with ical on both OS. I have had no problems.

    As stated above, I would be sure to back up your information before attempting

  39. A better alternative is just to use SugarSync (which also offers free accounts) to keep the address book files in sync. Unlike Dropbox, you can just specify which folders to sync between computers – no need at all for terminal or saving files elsewhere.

  40. I am already using Dropbox to sync my 1Password between my MacBook and iPhone and it works flawlessly. I tried to follow the instructions to sync my Address Book and not only did not work but also got 1Password out of sync. Any ideas how to do both, Address Book and 1Password? Thanks, Moncho

  41. How do I remove these links. I want to switch from Address Book synching with Dropbox to Mobile Me?

Comments are closed.