Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
Best way to sync two computers?

I would like to be able to sync files across my computers (Ubuntu, Windows XP and Windows 7). Ideally, it would be easy enough for my family to use. Real syncing (not just a shared folder), is important so that my brother can access files on his laptop wherever he goes.

Unfortunately, I have quite a limited Internet Download/Upload limit and so I don't want to chew up my usage with synching. Is their anyway to only sync over a LAN?

share|improve this question

marked as duplicate by alex, Ivo Flipse Jan 22 '10 at 7:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 2 down vote accepted

As described in this answer, the latest experimental build of Dropbox allows LAN syncing to preserve some bandwidth.

share|improve this answer
That makes the bandwidth use much more reasonable - but still significant – Casebash Nov 16 '09 at 2:46

rsync can do this and it (or a port) is available for all platforms you listed.

  • Windows XP and Windows 7 can use cwRsync
  • Ubuntu comes with rsync preinstalled, if for some reason it didn't there are links on that page to assist you with it's installation and dependencies.

Since you'd like this to be easy for other's, I'd suggest simply making shares and having scheduled jobs sync at the interval of your choice(Scheduled tasks on Windows, Cron on Ubuntu Linux) so the process is invisible to your users. You can use cp with the -u switch on Ubuntu to copy only newer and non-existent files. On Windows, you can use XCOPY with the /E /I /H /Y and /Z switches. Examples:

for Ubuntu:

cp -u /home/john/stuff/* //Winshare/somefolder

and for Windows (batch, you'll probably want this to run hidden to check out this question):

XCOPY /E /I /H /Y /Z C:\Source D:\Ubuntu\Dest

You will need Samba installed on Ubuntu for this, and you'll need to make shares on the Windows machines. Additionally due to your brother's laptop being moved on occasion, you will need a way (you could write a small script) to remove the cron entry which he will need to run before he moves his laptop. Something as simple as crontab -r will be fine for a script called and could be crontab /path/to/premadetab.txt. Within premadetab.txt would simply be your entry specifying how often to sync. If you are unfamiliar with cron, you can use a crontab generator.

share|improve this answer
Thanks, I may consider using this for my own files, but I'd be pretty surprised if I managed to get my family onto using this – Casebash Nov 16 '09 at 0:44
If it is required that other family members will be using this you should add that to the question. It's a very important detail. – John T Nov 16 '09 at 0:46
Thanks for the suggestion. I suppose that with that method, it would also be possible to set up a program so users could synchronise files when required. This looks like a reasonably big task, so it might take a while for me to get around to trying this. – Casebash Nov 16 '09 at 10:45

if its within a lan, why not set up a smb folder on one of the systems, and use that? If you really need to, you can probably use various native tools to keep a local copy, but that's what sounds simplest to me.

share|improve this answer
Can you suggest any tools for syncing this? – Casebash Nov 16 '09 at 2:33
using this method I elaborated a bit on how you can sync them invisibly with the user. – John T Nov 16 '09 at 3:40

I would probably use rsync myself, but there should be at least one response here recommending Unison.

share|improve this answer

Allow all of your computers to accept incoming FTP connections, leave it blocked in the router from the Internet or unless you secure your computer, leave it open and you can connect using DyneDNS. But locally, set up synctoy on a windows computer that stays home.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .