/MIRoption. The source directory is a directory shared over the local area network (LAN) and it is possible that an employee may leave for the day with one or more files in the shared folder on the server still open. I don't want Robocopy to wait and try again to backup an open file since the script will be running at night at a time employees aren't likely to be still working and so any file that is locked because it is still open will likely remain open until at least the the next day when employees resume work. So I use the
/W:0option to tell Robocopy to immediately retry to backup a file if it encounters a problem (by default it will wait 30 seconds and try again) and the
/R:1option to tell Robocopy to only retry backing up a file once rather than try repeatedly (it will try 1 million times by default). I want to record all output of the Robocopy daily backups in
E:\ACI\Backups\RoboCopyBackup.logso I place that output path and filename after
>>which will append the daily output to that file—if you just use one greater than sign rather than two, the file will be overwritten each time the Robocopy command runs. So I have the following Robocopy command, which I placed in a file I created with Windows Notepad named
Robocopy_Daily_Mirror.bat(when you are saving a batch file in notepad change "save as type" from "Text Documents (*.txt)" to "All Files"):
robocopy D:\ACCI E:\ACI\Backups\ACCI /MIR /W:0 /R:1 >> E:\ACI\Backups\RoboCopyBackup.log
If there are files with specific attributes you want to exclude, e.g.,
hidden files, you can use the
/XA:[RASHCNETO] :: eXclude files with any of the given Attributes set.
In this case, I know that the only files in the source directory
that have the "hidden" attribute set are
thumbs.db files, which
are database files containing the small images that are displayed when you
view a folder in Thumbnail view rather than Detail, Icon, List, or Tile view.
The Windows operating system generates those files automatically, so I could
exclude them, but I chose to include those as well. If I wanted to exclude them,
I could add the option
/XA:H to the command.
You can see the options for the Robocopy command by issuing the command
robocopy /? at a
I wanted the backup script to run Monday through Friday at 8:00 PM, so I issued the command below at a command prompt:
schtasks /create /TN "Robocopy_Daily_Mirror" /TR "c:\users\administrator\documents\scripts\Robocopy_Daily_Mirror.bat" /SC Weekly /D MON,TUE,WED,THU,FRI /ST 20:00
/create parameter indicates I want to create a new scheduled
task and the
/TN parameter identifies the name I want to give to
the new task, in this case "Robocopy_Daily_Mirror." The
parameter is a "task run" parameter indicating the name and location of the
batch file I want to run while the
/SC option indicates it is
to be run every week with the
/D parameter specifying the days
it should be run every week. The
/T parameter specifies the
time the task should be run, which is specified in
24-hour clock time,
aka "military time," in this case at 8:00 PM every day.
You can see all of the options for the
Task Scheduler command by issuing the command
at a command prompt. You can see all of the options for creating new tasks
by issuing the command
schtasks /create /?.
When I issued the command, I saw a message indicating the task was successfully created.