views:

479

answers:

2

Wondering if anyone can suggest a good file replication tool that will replicate across a WAN link. No fancy stuff, i.e. VPN, we're looking for just a straight up TCP/IP connection that will sync bi-directionally.

We have looked at robo-copy, rsync (which we have in place currently but it's only one way) and a few others smaller technologies. Any suggestions would help! Oh, this is for Windows only. No linux/unix tools please.

+1  A: 

In the past I have successfully used Unison File Synchronizer.

It works on MS Windows and most of the Unix family (and will even sync cross-platform). It works in both directions:

Unlike simple mirroring or backup utilities, Unison can deal with updates to both replicas of a distributed directory structure. Updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.

It is the result of a research project. I found it quite easy to use, and most of all, very reliable (it handles connection failures etc. very carefully).

It uses its own unencrypted protocol, but can easily be tunneled over SSH if necessary.

To use, you just point it at two directories (local, remote-mounted or tunneled via SSH). On first run, it will find and show any differences for you to reconcile. Afterwards, each time you run it it will silently distribute non-conflicting changes, and prompt you for conflicts (though you can tell it to never prompt). There is a command-line and a graphical frontend for this.

And did I mention it's free software?

One caveat: Cross-platform synchronization does not work properly if there are non-ASCII filenames, because Unison does not correctly transcode filenames (though there are workarounds). But for Windows-Windows there should be no problem.

sleske
Can it run as a windows service without a user being logged in? Perhaps the windows scheduler can be used to run a bat file or something...
bbqchickenrobot
I've never tried that, but see no reason why you could not run it periodically through Windows's Task Scheduler or something similar.
sleske
+1  A: 

Our IT department built a international sync network based on rsync (running on Windows servers). This is used to transfer really large files to other locations. Works really nicely, as you send the files to the local server over the LAN, then it's slowly sent via the WAN to the locations closest for the receivers (they can be internal or external to the company). Another system that I interact with is web based, but the servers are off-site, and therefore the complete WAN transaction has to complete before you disconnect from the network.

Not exactly what your asking for, but rsync can be used as part of a great system.

Simeon Pilgrim
cool that you guys have it working, but I've found rsync to be clunky and it trips up on long path names. That said, it's pretty reliable and did a dirty job very well. But = it's just not 100% of what we wanted and it's not a 2way syng unforunately.
bbqchickenrobot