43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

Geek Throwdown: How to sync two or more Macs?

Enter the Octagon

Here’s an experimental new feature: The Throwdown. Take a problem that lots of people face and tell us your personal favorite way to deal with it — in as much detail and with as much persuasion as you can muster.

Today, a lot of us are living on two or more Macs -- which is great, except for the challenge of keeping the contents and settings of multiple machines effortlessly in sync.

Now before you pop in, holler "dot mac," and jump back on your Segway®, consider that many folks (including your author) are looking for a lot more than simple document syncing and perfunctory preference sharing. How about if your needs are more nuanced:

  • Can it intelligently sync "~/Library" stuff like "Preferences" and "Application Support" for your apps (so that Quicksilver, for example, is with you and tweaked to perfection wherever you go)? Is it smart enough to know which items not to sync?
  • Can it do smarter comparisons than "which one is newer?" -- consider that someone on 4 or 5 Macs may run into complex versioning problems that currently make .Mac very confused. For text, can it do diff3-style merging?
  • Will it update often enough (and automatically enough) that I can trust when I sit down at a new machine, I'll know everything's up to date without checking (or manual re-updating)?
  • Can backups be easily automated? And is it easy to restore across all machines?
  • Does it work for people on airplanes? If your solution requires a live internet connection for active usage (e.g. traditional WebDAV), what happens when that access is no longer available?

You get the idea. You have a system; now tell us about it. Bow to your sensei, then spare no detail.

How do you sync your Macs?

rsync? ChronoSync? Synchronize? Unison? Something you made yourself?

What are using to sync your Macs, and how are you using it?

sstringer's picture

Grand Unified Sync Theory


I bow before you.

Like You (or a proto-You), I'm a web developer. While I don't have as many macs as your throw-down posits, I do have two. Outside of Subversion, I can't conceive of the Grand Unified Sync Theory that can reliably and automatically manage many machines unless you're willing to designate one as a master and all others as identical twin children. If the parent-identical-twin-child model would work for the purposes of your GUST, then my solution would scale. Another assumption is that all machines in this model are owned by the same person. This model definitely wouldn't work if different people had to stay in sync (in which, again, Subversion is the only viable solution I know of).

Enough preamble...

My main dev machine is a Mac Pro desktop, and I have a Mac Book that I use to take things on the road on occasion (okay...take things to my living room on occasion). The Mac Pro for most things is designated the Parent, and the laptop is the child, meaning that by default I want to push changes from my Mac Pro to my laptop, and if changes are made while I'm on the road, I need the ability to push changes back.

Mail: I use imap in Mail.app to keep my two-dozen or so mail addresses contents in sync. To set this up initially, I had to copy the contents of Mail's library folder from my main machine to my laptop to preserve folder structures, rules, and preferences. Once done, this needs to be redone only when changes are made or rules are added. For this, I use a non-scheduled ChronoSync. This would scale in any situation and is a nearly zero-maintenance option that satisfies your "on an airplane" requirement as well as any solution can.

Keychains: I use 1passwd which is a lifesaver. Simply using ChronoSync to copy my keychain works just fine.

iCal: I use Spanning Sync. This allows my wife to control--er, contribute to--the calendar from her non-Mac office via gmail. I run into the occasional sync conflict, but this is expected and manageable. ChronoSync is pretty much all-or-nothing in unattended mode, and it blew away too many changes for it to be an viable solution to this problem.

Development Content: For my web sites, I use Subversion version control. After all, developing on multiple machines was what version control was made for. Unlike mail, cal, or to-dos, my dev folders don't need to be identical. They can live independently of one another, and SVN takes care of the details.

Less important stuff: I use scheduled ChronoSync jobs to manage all other day-to-day file syncing. I awaken my machines at 1am (System Prefs > Energy Saver > Schedule...) to run automated backup scripts (outside the scope of this post). While ChronoSync can't be scripted via Automator or cron jobs, you can schedule jobs internally within ChronoSync to kick things off when you know the machine is going to be on. This works well except for those times I forget to leave the lid of my laptop open. Since I'm not the only person in my house that uses the laptop, this happens often. Fortunately, it's easy to kick off the otherwise-automated ChronoSync script and it only takes a minute.

This combination proves to be an effective--if not convoluted--solution that lets me grab my laptop and go with confidence that I'm in sync.

In my heart of hearts, I still long for your Grand Unified Sync Theory solution. As your thread proves, this is clearly an itch that needs to be scratched.




An Oblique Strategy:
Honor thy error as a hidden intention


Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed


Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »