Unison is the best program I found to synchronize files between a Windows PC and a Windows Server over the internet. The only disadvantages are, that Unison doesn’t run in background and that the installation procedure is a little time consuming, as Unison needs ssh, which is not available for Windows as a standalone program.
This how to only covers the installation of the client, as I wrote it when I had to set Unison up again after reinstalling my computer. Maybe at some point I will expand this guide.
- Download Cygwin from cygwin.com.
- Install Cygwin. During the setup select the package openssh.
- Start Cygwin and create a key pair by running the command “ssh-keygen”.
- Assuming you installed Cygwin to C:\cygwin on the server and foo is the user you want to login as, copy the public key (id_rsa.pub) to C:\cygwin\home\foo\.ssh on the server.
- Rename the file to authorized_keys.
- Assuming the username on the client computer is also foo, copy the private key (id_rsa) to C:\cygwin\home\foo\.ssh on the client computer.
- Copy the file C:\cygwin\etc\defaults\etc\ssh_config to C:\cygwin\etc and edit the ssh settings according to your needs.
- Test the connection by running “ssh foo@server” in cygwin. No command line options are allowed. Everything has to be setup in ssh_config.
- Add “C:\cygwin\bin” to the PATH variable in the system settings.
- Download unison from http://alan.petitepomme.net/unison/index.html and extract it to a location of your choice.
- Download GTK+ for Windows from http://sourceforge.net/projects/pidgin/files/GTK%2B%20for%20Windows/.
- Extract the GTK+ archive and add the location to the PATH variable in the system settings. You have to restart your computer for the PATH variable to work.
- Run unison and add a new profile.
- Select “Using SSH” as synchronization kind and enter host and user name.
- Select the local directory and type in the remote directory (i. e. “C:\Remote data\foo”).
- Edit the profile, click on “Add”, select “ignore” and again click on “Add”.
- Add the entries “Name *.tmp”, “Name thumbs.db”, “Name desktop.ini”, to not synchronize these files.
- Now click on open in the profile selection. Everything should work.