Synchronize with intelligent move and rename - windows

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


Solution 1:

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.

Solution 2:

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.

Solution 3:

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.