Adrian Collier - Robocopy


I was sleeping the other night when all of a sudden my 20 Terabyte storage server started beeping away. At first I thought my house was on fire and after waking up and realizing what was going on I knew exactly what it was. Enterprise grade RAID cards are built for the datacenter. Data centers are extremely loud and require one heck of a beep before you can distinguish something audible amongst all the fans and air conditioners. A hard drive had died and I was franticly trying to mute the alarm. One thing to note, it was a Western Digital 2TB Green Drive, my 3rd failure of its kind to be exact. I had known good backups so I wasn't too worried about losing another drive in my RAID 5 Array. On the other hand I had lost faith in the ability of the 2TB line of green drives to protect my data.

After implementing my new and hopefully superior backup strategy I needed a way to copy all of my files to the new array. For that I used Robocopy, or "Robust File Copy", a command line utility built into newer versions of Windows. I prefer this method over others because it tolerates network interruptions and resumes copying. It also continuously updates the progress via command line so you can see exactly what file it's copying at that moment in time. The command itself has many options, here's the one I used.

robocopy "D:" "E:" /copyall /b /v /mir /W:0 /R:0

Here's how it works. robocopy is the command itself. "D:" and "E:" are the source and destination folders respectively. /copyall copies all file info. /b copies the files in backup mode. /v produces a more verbose output log, also showing you skipped files. /mir mirrors the directory tree recursively and purges unnecessary files. And /W:0 /R:0 manipulates the number of retries on failed copies and wait time between those retires.