Syncing via Dropbox
iaian7 » blog John Einselen, 11.08.09I’ve been a long time fan of Dropbox. Not only does it let me sync files across computers, but it does it seamlessly and reliably (I’ve never once had a file corrupted or lost). A free account gives you 2Gb of cloud-synced storage space, with updates pushed to any connected computer running the menu bar app. Paired with Fruux for automatic address book, calendar, and bookmark syncing, you can get a fair bit of Apple’s expensive MobileMe service for free.
However, one problem with using Dropbox as a sync solution is that it doesn’t sync multiple locations – only a single Dropbox folder located, usually, in your user directory. Some applications have catered to this, such as 1Password’s development of the Agile keychain. Most, however, do not.
The answer? Symbolic links. Based on the excellent tutorial from SmileOnMyMac.net, this is a sample terminal command for setting up the Snippet database to sync using Dropbox (all one line):
ln -s ~/Dropbox/Sync/SnippetDB.plist ~/Library/Preferences/SnippetDB.plist
Make sure you copy the actual plist file to your Dropbox/Sync/ folder first, but that should take care of it. I’ll be running through a few tests in the next few days to make sure it operates smoothly. If my past experience with Dropbox holds true, it’ll be completely painless. It should also work with any similar application setup, just update the above directory links with the appropriate file locations (keeping in mind that not all apps play nicely when files are updated while still opened on another computer).
Addendum 2010: Microsoft’s Live Mesh offers 5Gb free storage, and syncs any folder you select. However, it’s exceedingly cumbersome, requires a full dock-based app to be running at all times, and is easily confused when content changes. I’ve never used it for syncing preferences or databases across computers, because it’s nearly unusable just for storing files.
Addendum 2012: Dropbox has added the ability to sync specific folders, but to keep things simple, I actually still use the symlink method! It lets me overview every pieces of synced data rather quickly in the same directory, and keeps things simple to set up on a new computer (I just keep a text document of the terminal commands needed to set up each folder).
Also, Google released Google Drive, in case you’re interested. Similar concept, different company.
Dropbox is designed to simply sync files and folders, but you can use it to trigger other tasks by simply adding files
My elation was short lived when I discovered Snippet does not play well with a db.plist file that is changed outside of the app itself. The Dropbox sync technique holds true, Snippet just can’t take advantage of it.