Is there a solution out there for a windows environment that would provide a two way, centralized sync between PCs? We have several PCs in our lab on which we need to automatically sync files across, while backing up the files to a centralized server.
We do 3D animation at my office and we were having the problem that each machine needed the same set of files to perform the renders. The solution that is working well for us is Microsoft Live Sync.
Once it is set up, any time a new file is dropped in, it moves in real time to all the other computers that share the folder.
I also use it to sychronize music and photos across my computers at home.
Have you considered a fileserver and a batch script?
The problem with having 2 of the same files in different locations is that if both versions are modified at the same time you then end up with a conflict when they try to sync back. Unless they are only used as read only, in which case a central server would work. You didn't say though if this is document or system type files, like after an automated build that are being sync'd.
That said, there are a couple of options for you.
If it's documents that are being sync'd, then Offline files will likely do what you want. Setup a "Shared" drive that everyone maps to on the server, make sure you set re-connect at next login. Right click and select the option "Make Available Offline" this will now setup a local cache of files that are in the Shared folder from the server. When someone works on a file they are working on the local copy on their server, when they log off it will then re-sync the file up to the server with the update and download any new updated files as well. You can also setup to sync at login and have the user manually trigger it as well. It will look like they are working on the server Shared drive but they actually are working on the local cache. On the server you would setup a seperate program to backup the Shared drive to an offsite location of your choice daily, hourly, etc as you need to. I like this method as it allows laptop users to keep a copy of files with them when they are disconnected. Downside to this is it's login based so the files it sync's will only be under that user's account
Another option, is to use a backup program such as Cobian backup (free) which runs as a service. You can either set it up on the server and then have jobs to push files to the test PC's from the server. Or install it on each test PC and have them pull from the server. It will take some playing with but it should do what you need including the 2 way sync. It has a scheduler as well so it won't be real time. You can also trigger via a batch file so if it was the server pushing everything out, one batch file could trigger a push to execute the jobs, which could then update everything. If you're doing this at the end of a buid process just have the build process trigger the batch file.
Groove should do the trick. I have not used it since it was bought out by MS but the previous version 3.1 did sync files between computers, even when they were on and off the network, like a laptop. The next time the laptop finds the internet it updates and syncs with the other computers.
If you're willing to use cygwin then Unison should do the trick.
I might be completely missing something but what's wrong with having the files on a network share? Set up correctly the files would be available from any computer and be easily backed up. No need to overcomplicate something simple.