Limit Bandwidth for File Copy – Methods and Tools

backupfile-transferwindows-server-2000

I've got an old windows 2000 box in a remote location with a T1 connection and a vpn to my location. I normally use smb mounts to transfer files but now it's time to decommission the server and copy it's backups to my location. I have about 40 gigabytes (compressed) to copy. I'm prepared for it to take a long time, but I have a few caveats.

  • I need to limit the bandwidth so terminal service connections to the site are not affected
  • I want to be able to resume a partial transfer

There are a few small files and several large files (10-20 gigabytes). I'm familiar with rsync on *nix platforms but have had bad luck with windows and I don't know that it will really keep partially transfered files. What do you use?

Best Answer

robocopy.exe has a switch called inter-packet gap, allowing you to insert a time window in between the packets of your copy, and thereby reduce the impact on the channel.

It's not exactly "use no more than 30% of the available bandwidth", but you can acheive the same effect with a little math. You can always specify some number of milliseconds and let it run for a bit, then CTRL+C to interrupt, adjust your command as needed, then resume. I've done just this when I didn't want to overload the WAN during the business day with massive replications.

robocopy has another switch /z allowing for "resumeable" transfers, so if the transfer is interrupted you can pick up where you left off, and don't need to shift the whole 40 GB again.

I'm not sure how granular the resume bit is, because I've never really tested for example a single 40GB ZIP file. Test something smaller first ;-)

There are some nice GUIs for robocopy which can assist with the syntax, but anyone with a Linux background will grok it easily. Grab the latest versions from a copy of Windows 2003 or later. Otherwise you'll find it as a Windows 2000 Resource Kit Tool download.

In the Wikipedia entry for robocopy, someone noted that the penalty for restartable copying (the /z switch) is 6x slower performance (see Known Flaws).