Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm moving a large amount of data from an old server to a new server, I'll have a small windows to swap the servers over so I'm copying all the data in advance (300GB of docs) and then in my small windows I want to just sync the files that have changed which may just be a few GB, XCOPY doesn't seem to be able to do this, any suggestions?

Thanks Steven

share|improve this question
up vote 9 down vote accepted

Either of rsync (Unixy) or Robocopy (a more windows-native application, and it comes with newer versions of Windows, I believe) should do the trick fine here. They compare the source and destination file trees (they send checksums of the files rather than the whole file, for comparison purposes) and only transfer those bits that have changed.

I've got a lengthy writeup on how we did the migration of Github to their new setup; that involved copying several terabytes of filesystem data and other stuff (databases, etc). Hopefully it'll give you a few ideas.

share|improve this answer
+1 for Robocopy. Bear in mind though that is has more options than you can shake a stick at – Izzy Nov 12 '09 at 15:49
Bah, if it doesn't have a gazillion options, how can it be any good? See also: find(1). – womble Nov 12 '09 at 15:57
Thanks Robocopy is what I was after. – Steven Nov 12 '09 at 16:02
@Womble - I dunno... maybe it could have an ESP algorithm and just know what you want it to do? :) – Izzy Nov 12 '09 at 16:08
ERROR: /dev/uri-geller does not exist – womble Nov 12 '09 at 16:14

You could you the /D switch with xcopy:

/D:m-d-y Copies files changed on or after the specified date. If no date is given, copies only those files whose source time is newer than the destination time.

Robocopy has a /MIR mirror switch that you could try. It's always served me well, although I have heard complaints it can have unexpected behavior.

If you like fiddling with GUI tools, then you might want to give DeltaCopy a try.

share|improve this answer

Try RichCopy which is an awesome file copy utility.

It's a much more advanced version of RoboCopy, with multi-threading, pause and resume etc...

I believe it was made by the same people who worked on RoboCopy. (don't quote me on this i may be wrong, but i Know it's a Microsoft Freebie)

share|improve this answer

Recently we did the exact same thing with Robocopy. I was surprised at how well it worked. We moved all the data one weekend, then and refreshed it a couple times during the week with the same robocopy script. The following weekend we did another resync which didn't take very long and then we cut over.

As mentioned by others, there are tons of options, but here is the line we used. You can also put it in a batch file and schedule it to run nightly if need be.

robocopy <source> <destination> /copy:DATSO /mir /XD "system volume information" /XD recycler /r:0 /V /Log:robocopylog_foldername.txt

Lastly, you can use Beyond Compare to be absolutely sure everything was copied.

share|improve this answer

2012 Update: SyncToy from Microsoft is a GUI file/folder sync "toy" that does a lot of what Robocopy does, but with a nice Windows GUI. It has some enhancements/options like "save overwritten files in the Recycle Bin" that give you an extra layer of protection (some might say confusion) with complicated sync opertions.

+1 for Robocopy - always a great option.

share|improve this answer

Your Answer


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.