Super User is a question and answer site for computer enthusiasts and power users. 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

This isn't really a question about programming, but it is a question about working as a programmer. I hope this is an appropriate forum for this question.

I work from home. My Windows XP based laptop connects through a VPN to the network of my employer. Occasionally, I need to download a large file (~2.5 GB) that is shared on a network drive. While it's possible to just drag-and-drop the file using Windows explorer, to copy the file, there is a good chance that the VPN will timeout or my internet connection will flake out at some point during the transfer.

So what I'm looking for is a way to copy a large file that supports resuming if the connection fails. I initially tried to use rsync from within cygwin, but I don't think I had the right set of options.

I was doing "rsync -aP src_file_path dest_file_path". It would download correctly if the transfer completed without error, but if it crashed, when I issued the command again, it would start downloading the entire file.

share|improve this question

migrated from stackoverflow.com Sep 28 '09 at 23:33

This question came from our site for professional and enthusiast programmers.

up vote 6 down vote accepted

You might also try robocopy, an xcopy replacement that ships in Vista, and is available in the Windows XP Resource Kit.

http://en.wikipedia.org/wiki/Robocopy

Robocopy contains options (/Z) for copying files in "restartable" (read: resumable) mode.

share|improve this answer
1  
+1 nice............................................. – Byron Whitlock Sep 28 '09 at 23:10
    
I've been a robocopy user for years and I didn't know about the /Z option. I've just spent about 10 days failing to copy a 2GB file over an unreliable ADSL line. I added the /Z to my robocopy call and it worked a treat. Yippee. – sal Dec 14 '12 at 13:25

Your rsync command line looks correct (-P is needed to keep partially transfered files), you however have to make sure that you are actually using rsync for the data transfer itself by specifing a remote path:

rsync -aP juser@server:/tmp/data some_directory

If both paths refer to the local filesystem (even when one of them is a network filesystem), rsync can't use its delta transfer and will transfer the full file.

share|improve this answer

I like teracopy. Works like a charm and can integrate with windows explorer as well. Great for large files 10x better than windows. It is free but has a paid version.

share|improve this answer
    
Oh, that's better. Forgot about that one. It does resume. – lod3n Sep 28 '09 at 23:07
    
I have tried using Teracopy a number of times over the past year. I think that it might be an adequate tool for copying a large number of small files, but I haven't been able to get the resume support to work properly, so it has been useless to me. Robocopy looks promising. – user12701 Aug 24 '10 at 23:48

Being lateral, you could try setting something up with Live mesh, if you have the appropriate permissions and security.

share|improve this answer
    
Not a bad idea, but doesn't Mesh have a single file size limit? – Chris_K Sep 29 '09 at 0:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .