If you use homebrew or MacPorts it’s really simple. You don’t need the GUI for anything I’m doing in this document, but it doesn’t hurt. There are many ways to have Unison installed, how you get there is your business. One of the virtual machines is an OS X Lion Server that ends up being where my sync operations happen, but I have also done it directly on the NAS, though I found this too expensive in CPU for that device (it’s a SPARC, OK?) and it slowed things down. There was a time where I wanted to keep everything on the NAS, but there have been some performance issues with large amounts of data and at the time slower wireless options, and I haven’t revisited since 802.11n came into prevalence. Some of my virtual machines mount home directories from my NAS, but my workstations and MacBook do not. I have some network-attached storage, a couple of virtual machines, a desktop workstation at home, a desktop workstation at the office, and a MacBook Air. I don’t want to have this document be a complete tutorial on using Unison, so you’ll want to read the documentation on the Unison homepage if you want to familiarize yourself with terminology and conventions, I’ll be moving pretty fast by the time we get to the launchd jobs, profiles, and scripts. Pierce and the Unison team have really done something great with this software. Unison provides a GUI and a command-line interface, and the GUI is geared towards handling the essentials without clutter.īenjamin C. There are a lot of sync packages and applications that don’t work very well or get in your way with weird UI conventions and language. It isn’t a one-way shove-and-update like rsync, it’s a way to actually sync bi-directional changes in a directory or file, and allows you to gracefully resolve conflicts.
#Unison synch mac os#
Unison is a file sync solution that runs on Windows, Mac OS X, and any (other) UNIX-like system. This article won’t get a lot of attention and may no longer be useful. I don’t use Unison anymore, and prefer using BitTorrent Sync for my folder sync needs.