Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Within a cross operating system network containing different versions of Windows Clients (Win98, NT, Windows 7) and a Linux file server I would like to sync folders.

There are two limitations:

1) Each client should sync to a specific folder on the server but the clients should not sync between each other due to disk space limitations.

Server -+- SyncFolder for Client A  <---> Folder_X on Client A
        |                                 
        +- SyncFolder for Client B  <---> Folder_Y on Client B 

In the example above Client A and Client B do not sync.

2) NO internet connection is available therefore Dropbox cannot be used but private Cloud setups such as Owncloud.

What solutions are out there?

Edit: A perfect solution would instantly sync just like dropbox or similar tools and not require user interaction.

share|improve this question

3 Answers 3

What do you mean by: "1) Each client should sync to a specific folder on the server but the clients should not sync between each other due to disk space limitations."

The word "sync" is vague. There are at least three possible interpretations of the term:

  1. "Push only" sync, which means the client pushes its data to the server, but doesn't download any data from the server.

  2. "Pull only" sync, which means the client downloads its data to the server, but doesn't push its local changes to the server.

  3. "Two-way" sync, which is a combination of 1 and 2 combined with some rules about merging or resolving conflicts when files of the same name are pushed or pulled.

If you want push only, you can just use something simple like FTP or SCP (dozens of available clients and servers on all major platforms) and push the data to the server, ignoring what's on the server.

If you want to only sync certain files according to certain rules, that's essentially a two-way sync "with rules". While your rules might be arbitrarily complex rules, such as only downloading files when the moon is exactly one-half full at 12:07 AM over Uruguay in years ending in "5", basic support for commonly anticipated rules is available in the "rsync" program. See http://linux.byexamples.com/archives/305/filter-what-to-backup-with-rsync/

share|improve this answer
    
I dont understand the second interpretation. Could you please clarify? My understanding of sync was that any changes on either side would be mirrored on the other. However, in this particular setup a "push only" would be sufficient. Thanks for pointing out the differences. –  Bjoern Jul 11 '12 at 15:47
    
In a pull only scenario, none of the clients store their data on the central file server. The only data exchanged is that the clients keep a "mirror" or local copy of the data on the Linux file server. That's what I mean by pull only. This may not make sense in your situation if the clients are the ones that are originating (generating) the data. Since you said you want push only, try setting up SCP or FTP or SFTP. –  ÃŁŁǫǛȉЖΦΤїҪ Jul 11 '12 at 16:51
    
For either SCP, FTP or SFTP someone has to initiate the push. What I have in mind is a more intuitive approach where the data is uploaded (or synced) without user interaction. This could of course be done with a cron job but I would like to have instant transfer without user interaction. On Linux a push could be initiated via inotify-tools but my clients are windows based. I also thought about OwnCloud but this would sync data between all clients. –  Bjoern Jul 11 '12 at 18:02
    
You could write a .NET program using FileSystemWatcher and an FTP/SFTP client library... run the program in the background when the user logs in, and it'll monitor your "push" director(ies) for changes and zip them over the wire to the file server automatically. See msdn.microsoft.com/en-us/library/… -- this is such a common-sounding situation that I would be surprised if a product doesn't exist to do this automatically, but hey, that would probably involve paying money to someone, so it's up to you... –  ÃŁŁǫǛȉЖΦΤїҪ Jul 11 '12 at 18:13

All you need to do is find a Windows sync program(s) that work on all the versions you have. I've personally used InSync on all of them, but the current version may no longer support anything pre-NT -- although they might be willing to supply you an old version. They also have site licensing.

Microsoft has a free utility called SyncToy, but again, I don't think it supports Win98.

share|improve this answer
    
Thank you. It indeed seems that the different Windows versions are the bottleneck here. –  Bjoern Jul 12 '12 at 7:21
    
@Bjoern: All the versions of Windows you have come/came with a built-in xcopy command-line utility which can be used to do syncs if given proper arguments. –  martineau Jul 12 '12 at 7:37

If you prefer to use one tool on all platforms, you could adapt https://launchpad.net/sucsynct to run with win-bash or cygwin on windows.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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