When not writing on my blog I am doing my master thesis in physics at the Niels Bohr Institute in Copenhagen. At the university I use my subnotebook and at home I have a more powerful desktop with a bigger screen. I would like to have the file systems synchronized both considering the convenience and the security of not having the data on one disk only.
There are many ways to do synchronization including home brewed rsync scripts, CVS, SVN and more, but I wanted something that was easy to setup, so I chose Unison. One of the great things about Unison is that it is very easy to use and supports SSH – the latter makes the synchronization secure even over the dangerous internet (unlike FTP). Furthermore Unison supports both Windows, OS X and Linux and even supports syncing a Linux folder with a Windows folder. The setup much more easy than using CVS and SVN which makes unison the right choice for most users. CVS and SVN also need to be notified when new files are added to the project but this is not necessary with Unison.
The installation was surprisingly easy. I needed the unison program running on my desktop and a running openssh-server process which I already had, so the setup amounted to:
root@nobel:~# aptitude install unison
On my laptop I need the unison program and the nice GUI:
root@dirac:~# aptitude install unison unison-gtk
That was it 🙂
The configuration of the laptop was the next step. I started the Unison GUI and created a new profile. Next I needed to choose the folder to sync on the locale machine:
Second I needed to choose the folder on the distant machine as well as the server name
Finally Unison started to look for changes and listed them in the GUI:
Beside SSH support Unison can also sync local two local folders which can be nice in a NFS or SSHFS setup. All in all I think Unison is the easiest tool to solve my problem and the great support for other OS’s might come in handy later.