0

I would like to me able to make changes to the Windows file system in several locations simultaneously, for example so as to make the same manual changes to two load-balanced web servers*. I'd like to do this in a graphical fashion, so something like a multiple folder version of Explorer would be just the trick. Does anything like this exist?

Ideally the number of and nature of locations would be configurable, differences between the locations would be highlighted, for example as in a graphical diff tool, and optionally I could be warned about any potentially unexpected consequences of my actions! Those would be the icing on the cake, though.

To be clearer: although you could probably achieve the same end result by making changes in one place and then synchronising with the others, I'd like a less faffy and less potentially bandwidth-hogging method.

EDIT To be clearerer: I can see that some kind of revision-control-based system could work to fulfil some of the requirements of this, it's really an ad-hoc graphical tool that I'm after - I want it to be as easy as possible, and I don't want to have to prepare the environment carefully in advance. I'm not trying to solve the general problem with alternative solutions. It sounds like a tool like this doesn't exist, possibly because it's not exactly best practice, and not hard to overcome the problems with a bit of work in another way. Thanks for the help!

I'm using Windows Server 2003, XP, and Vista, generally, although I'd be interested in the existence of such tools in a wider context.

*Just an example, I know that typically things like this could be done simply with a script.

2 Answers 2

1

You have a set of 'mirrored' systems where a change in one should be reflected to the other(s).
The easiest way to do this (acceptable by you) is synchronize the folders.
Trouble with sync is the large scale copy involved, you say.

  1. If you do a smarter sync (which almost any of the tools/scripts would do),
    only the modified files would be synchronized
    • when you move files around in the 'primary' folder, the sync would probably cause a delete and a new-copy in this scheme
    • A better target would be to somehow get the edits across the systems rather than sending full copies of the files.
    • this would be more useful for text files which are typically large (full copy is costlier)

This suggests a CVS solution

  • You could run a CVS server on one of the machines or an entirely different machine
  • All copies would be checked-out from that common repository
  • any edits will be followed with a commit and updates on the other machines
  • This will send only differences (patches) across to the other machines for text files
    • However, binary files will be copied completely

Problems and potential solutions.

  1. The scheme is not very useful if you have binary files that need to be synced.
    • If there are scripts that effect binary file changes, you could introduce them into the CVS system, they would be synchronized and can be applied across all machines
    • If If you need to move files across folders of one of the systems
    • That could be scripted too, and the scripts synchronized for application again

Finally, all this is not turning out to be very 'visual' -- sorry about that.
Maybe there is a tool to do such a thing; or, this can be an idea for one.

1
  • Or SVN, Git, etc.
    – LapTop006
    Aug 3, 2009 at 11:52
0

WinMerge can easily compare two directories. Beyond Compare has some more bells and whistles that may be useful (it is $30 I think for the standard version).

EDIT: Given your below clarification, one solution you may want to look at is converting the folders to SVN or GIT repositories. Then you can Commit on one copy, and Update on the others. You can use features like svn-move to move folders around without having to delete and recopy.

We actually do this on production installs on one of our web applications and it works really well.

1
  • Thanks, but that's not really the sort of thing I mean. I don't want to synchronise one folder with another, I want to carry out file operations simultaneously in multiple places. I suppose the main difference from simply synchronising is that I'd like e.g. to be able to Move something rather than delete and retransfer all the contents. I'd also like the ad-hoc flexibility of just doing something to some files and that being it in all locations.
    – frumious
    Aug 1, 2009 at 21:08

You must log in to answer this question.