Faster file copying over a local network

No Comments

What I started to do was to copy a 460MB file from the computer in the project network into my laptop before I leave in an hour. The problem is that when I started mapping the drive containing the file and copying it using Windows explorer the ETC displayed by the file copy dialog box fluctuates between 2-5 hours. This instability and slowness is a pet peeve I have against the Windows copy process over CIFS/SMB shares. I know copying from the command line is going to be faster but without a progress meter I don’t know when it is going to be finished.

The next option I did was to share it the webserver hosted in the remote box and then tried to download it. The download speed range is between 30-75kbps so the ETC reported by the browser is between 2-3 hours. It may be faster but not fast enough for my needs. Then I realized that I have rsync inside the cygwin install in the laptop. As I have already the network share mapped to Z: drive so the simple command

$ rsync -avp --partial --progress /cygdrive/z/Temp/bigfile.zip ./

started the transfer which was a whopping speed range of 230-420Kbps. ETC is now 15-20 minutes. Problem solved so I am writing this blog while waiting for the transfer to complete. For those interested with the rsync options:

  • -avp : copy the file in archive mode, preserve permissions and increase verbosity.
  • –partial : if the error fails, don’t delete the transferred chunks so it can be used for resuming the transfer.
  • –progress : show the copy progress.

Why didn’t I just use a USB stick? It is because the company has locked down the USB storage drivers and while somebody who amazingly has a strong resemblance to me can do something about it, it would be too troublesome to pursue. FTP might have been a good choice of protocol as this is a secured environment but from experience the antiquated file transfer protocol only has a slight advantage over HTTP in terms transfer speeds.

ciao!