Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm looking to synchronize two windows folders over a wireless network. I'm currently using Syncback, but it doesn't seem suitable for large reorganisations over a slow network.

i.e. if I move a folder and contents from one location to another on source, then syncback will delete the original location on the destination and copy files over the network from source to the new location on destination. I am looking to move around 100GB of data in this way, and it is too slow re-copy.

What I really want is a tool which will recognise the fact that a move has taken place on the source, and execute the same move on the destination, without any network transfer.

Does such a tool exist?

Cheers

share|improve this question
2  
It seems like most posters here aren't noticing that Joe is asking about detecting file / folder moves and having the remote end move the files / folders versus recopying them. I wonder if some of you are even reading the questions... smile –  Evan Anderson Jun 5 '09 at 15:57
    
Sometimes what you want to do and what you can do are two different things. :) Perhaps Joe might split out what he wants to do into separate parts and use some of the ideas here in conjunction with some other research or ideas, multipart scripts, etc. –  Greg Meehan Jun 5 '09 at 16:08

10 Answers 10

Microsoft DFS replication will do what you're talking about. It monitors the NTFS change journal and uses the uniquely assigned file numbers to track renames / moves of files.

Windows Server 2003 R2 and Windows Server 2008 can do this. The DFS Replication service is included in Windows Vista, but the "PC to PC Sync" feature that would use it was cut from Vista RTM. I don't see where it's ever been added back into the product. (Somebody who knows more about it than me should comment about that.)

Edit:

You could "capture" your actions by way of doing the initial moves / renames via script, then running that script on the remote machines. It's sub-optimal, but if you're not going to pay for something that uses the filesystem change journal you're going to have to implement the functionality yourself.

If you do it via script, just use relative paths in your script and then you'll have a script suitable to run w/o modification on the remote copies.

No doubt somebody could write a cute little GUI that "acted" like Explorer and let you do the moves / renames / etc and then generated such a script. It would be a pretty niche application, though, I'd think.

share|improve this answer
    
Good point... I assumed he was talking about clients since he was using wireless. What OS are you using Joe? –  Sean Earp Jun 5 '09 at 15:38
    
should have said - XP –  Joe Watkins Jun 5 '09 at 15:44
1  
Yeah-- DFS Replication isn't going to help you, then. You're going to be hard pressed to find something that does what you're looking for for no cost. –  Evan Anderson Jun 5 '09 at 15:55
    
Thanks for all your comments Evan. For the first part of my re-org I did script it (moving dirs under a new directory with initial letter of dir name), but now I want to do more random changes. In case anyone's wondering, this vital task is not work/commercially related - it is me organising my MP3 collection! It's still annoying that there does not seem to be any simple solution. I'm think I might have a go at scripting such a tool, as there seems to be a gap. Cheers –  Joe Watkins Jun 7 '09 at 7:38

Maybe in this case you may take a look at Easy2sync. It recognizes renamed directories. Maybe it handles large file movements intelligently too. Could be worth trying it out.

share|improve this answer

There's a few ways to do this;

1.) DFS folder replication will work, there's a tutorial here and here's the MS webpage.

2.) Robocopy in mirroring mode will work as well, but it won't key off the fact that a file has changed. Here's a script that I shamelessly copied from somewhere, (why re-invent the wheel, eh? :) that I used when migrating large amounts of data from one share to another. (A big bonus with this is that it will do incremental mirroring, i.e. run it once to replicate, then run it again and it will only copy over the files that have changed.

Script is:

@ECHO OFF
SETLOCAL

SET _source="\workstation01\share"

SET _dest="\workstation02\share"

SET _what=/COPYALL /B /SEC /MIR
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode.
:: /SEC :: copy files with SECurity
:: /MIR :: MIRror a directory tree

SET _options=/R:0 /W:0 /LOG:worstation_copy.txt /NFL /NDL
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

3.) If you use HP in a large corporate setting and have a vendor agreement or something set up with them, check into HP StorageWorks Storage Mirroring, however it's a bit heavy-handed for two windows folders.

4.) Finally, there's also, (beta warning! Beta warning!) Windows Live Mesh, but it's.. You know, beta. :)

Personally, I'd go with the robocopy option.

share|improve this answer
    
That's not going to help with what he's asking about. ROBOCOPY will just re-copy files that have moved on the source, rather than detecting the file moves and moving them w/o a recopy on the destination. –  Evan Anderson Jun 5 '09 at 15:56
    
Yeah, I'm in the same boat as you, re: finding something that will specifically key off of a file/folder change and then begin an xfer. –  Greg Meehan Jun 5 '09 at 16:12

Another product to consider is Vertias (Symantec) Replication Exec. It may be able to handle this situation.

Storage level replication is also a very good option but will cost you big $$$

share|improve this answer
    
should also have mentioned, am not keen to pay :) –  Joe Watkins Jun 5 '09 at 15:45
    
I used this product back when it was Veritas Storage Replicator, and found that it had some rather nasty habits of crashing or locking up servers, and was also rather bandwidth-hungry. Any improvements in Replication Exec? –  Darth Satan Jun 5 '09 at 19:22

I used to have a free tool that did this VERY well that I downloaded and used on XP back in 2003, but I have lost the name and the installer, and haven't found it since. When I ran the tool in one mode, it would sit in the Tray and observe every Explorer move, delete, copy, and rename that I did anywhere in the source folder tree, and replicate that same action on the destination folder tree. Renaming a folder locally caused the corresponding folder on the server to be renamed, etc. I LOVED it, and have looked for it since, but without success. I've just started exploring "BestSync" (see download.cnet.com) which promises some similar functionality, but it's shareware, not free, though you have access to its full functionality for a month. It may provide the features you need.

share|improve this answer
    
well, shame on you for dangling such a carrot - great to know there is such and app, not so great to not have a name. I've installed BestSync, but it's not immediately where that functionality is –  Joe Watkins Jun 27 '09 at 19:30

The single best tool for this work is RSync, which not only handles the scenarios you listed but handles delta copy very well. I used this successfully over very slow WANS (512k wireless links were the norm) to sync almost 800Gb during the night.

If you can run it on Linux I would recommend that, however if you need to run on Windows you can use Cygwin which includes Rsync in it.

share|improve this answer
    
I had wondered about this, but couldn't tell if it did what I wanted, and didn't have the time to learn it. So, if I rename a folder, or move a folder to a subfolder, will rsysnc NOT copy the entire contents of the folder? That's what I'm looking for. –  Joe Watkins Jun 27 '09 at 19:27

Why don't you manually copy it on each end, then run syncback after that's all done?

share|improve this answer
    
well that is my fallback, but by no means satisfactory, with 10s, maybe 100s of folders to action, and I didn't mention - it then needs to be replicated to a 3rd location. i did wonder if i could capture my actions on one system and then replay on the other. otherwise I need to remember or note everything I've done on one, and repeat on the others. –  Joe Watkins Jun 5 '09 at 15:30

Also, the only "sync"-like thing that does what you're looking for are things like revision control software. I know Subversion can do things like that, and I suspect git and the other newer ones can as well.

share|improve this answer
    
hadn't thought of that approach, but not convinced that they could achieve what I want - you mean one location would be a repository, and I would check out to another? –  Joe Watkins Jun 5 '09 at 15:36

Have you tried Windows Live Sync (formerly foldershare)? I'm not sure how many files you are talking about, but it can sync up to 20 folders with 20,000 items each, both across a LAN or over the Internet, between PCs and/or Macs.

http://www.foldershare.com

share|improve this answer

I don't know if that can be used over a slow network, as I only use it locally or on directly connected computers to do my backups, but you may want to consider Microsoft SyncToy 2.0 ?

The first time you run it, it could be quite slow, but then after that, it will detect the files which are out of sync.

It works with folder pairs, and create a small file on its own at the root of each folders. I know it detects simple renames and simple moves, I have not tried complex ones.

You can schedule it to run regularly with the Windows Task Scheduler, I believe (I have yet to try that).

Cheers,

Thomas

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.