I have a family member currently using Windows live mesh to sync a relatively large amount of files between computers. It is way over the Ubuntu One 5 GB limit and the Live Mesh 2 GB limit. However, Live Mesh gives him the options of syncing all the data he wants without storing it on Microsoft's servers. Does Ubuntu One have an equivalent option, performing just the sync computer-to-computer and not computer-to-server and server-to-computer? Do you have other recommendations? It does not necessarily have to be Ubuntu One, but I need it to be cross platform, working across Windows and Ubuntu. We also have computers outside of uour home network we need to sync to. This is one of the few things keeping him from switching to Ubuntu, and I'd be very grateful for any help.

  • I've modified the question title in an attempt to generalize it. Please perform a rollback if you're only looking for an Ubuntu One solution. – Lekensteyn Apr 12 '12 at 21:17
  • 1
    This question is a duplicate of askubuntu.com/questions/42377/… – Carlos Soriano Sánchez Apr 12 '12 at 21:34
  • @Lekensteyn Thanks. I also am putting in there that I need it to be cross platform ubuntu/windows as well. – William Apr 12 '12 at 22:11

In Unix, a "standard" program to synchronize directories on two machines is rsync.

Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by send‐ ing only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.

Turns out there's a Windows version of rsync called cwRsync. Here are some info on installing and using cwRsync (though it's more focused on using rsync for backups)

As you don't want to involve any intermediate servers in the process, one of the issues you'll have to deal with is configuring some sort of port forwarding to enable direct access to one of the machines from internet (provided the machines you want to sync are in different local networks). From there, everything should be quite straightforward.

Another option mentioned in this answer to a similar question is Unison - using it over internet would also require configuring port forwarding. Which, generally, is a must for any server-less solution.

  • thanks! Is unison any more user-friendly then rsync? Also, is there a Unison Windows client? – William Apr 12 '12 at 23:47
  • "Unison runs on both Windows and many flavors of Unix (Solaris, Linux, OS X, etc.) systems. Moreover, Unison works across platforms, allowing you to synchronize a Windows laptop with a Unix server, for example." Regarding user-friendliness: with rsync you'll need to write a .cmd/.sh script ONCE, from there it'll be just a matter of clicking on an icon... so I wouldn't say it's not very user-friendly – Sergey Apr 12 '12 at 23:50
  • OK, how diffucult would creating this shell script be? – William Apr 12 '12 at 23:53
  • I do not have access to a Windows machine, but it should be a one-liner similar to examples of rsync usage you can find by typing man rsync on your Ubuntu machine: rsync -avz foo:src/bar/ /data/tmp – Sergey Apr 12 '12 at 23:58
  • OK, thank you, do I need to start this shell script each time I restart the machine? – William Apr 13 '12 at 0:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.