How to use robocopy for taking regular backups on Windows
Having switched from linux to windows recently, I was looking for an
rsync is a popular tool in the linux world used for taking routine backups and also general file transfer. But since I use it mostly for backups and I'm a command line dude, I was determined to find a windows equivalent which can do the same. That's when I found
Despite its trivial sounding name,
robocopy.exe is a versatile tool found in almost all windows installations at
C:\windows\system32 and does a great job of taking incremental file backups. The best way to configure a
robocopy backup is to create a simple batch file such as the one below:
This example assumes that you have a source code directory located at
c:\source and you want to backup the entire directory to a USB pen-drive at
e:\source. If you have more directories to backup, you can add them before the
robocopy c:\docs e:\docs /E /PURGE /ndl /Z robocopy c:\music e:\music /E /PURGE /ndl /Z
Now, let’s look at what those parameters to
robocopy command do. The source and destination folders are obvious, here is what follows:
/E Copy subdirectories (similar to --recursive option in rsync) /PURGE Delete destination files that no longer exist in source (--delete rsync option)/ndl Don't log directory names while copying /Z Copy files in restartable mode
You can run
robocopy /? to see a full list of options available in this tool. If you want to schedule backups (like once a week or month), simply go to Task Scheduler from
Control Panel -> Administrative Tools and schedule the above script to run accordingly.
Enjoy, your DIY backup solution for Windows is ready!
Originally published at prahladyeri.github.io on July 8, 2020.