Use o schedtask do Windows para agendar um backup. Eu recomendo usar o robocopy.exe do Windows Resource Kit.
Esteja ciente de ter muito cuidado com o modo como você usa este comando, mas aqui está um exemplo:
@echo off
:: ---------------------------------------------------------------
:: The previous command will copy the content of d:\inetpub\wwwroot and
:: push it to the remote server's d:\inetpub\wwwroot.
:: ---------------------------------------------------------------
:: Uses robocopy.exe from C:\Program Files\Windows Resource Kits\Tools
:: ---------------------------------------------------------------
:: /E = copies all subdirectories including empty ones
:: /PURGE = deletes destination files/folders that no longer exist in the source
:: /SEC = copies the security permissions (ACL) of the files to the destination location
:: /NP = turns off the copy progress bar; DEFINITELY do this if you are logging the results
:: /NJH = don't log the job header
:: /NJS = don't log the job summary
:: /XF = exclude copying specific files (e.g. keepalive_*.*)
:: /XD = exclude copying specific folders (e.g. trigger)
:: /R = specifies number of times to retry if the copy fails (e.g. 5)
:: /COPYALL = copies everything: data, attributes, timestamps, security, ownership and
:: auditing information; overkill really since I specified /SEC
:: /LOG = log results to the specified log file (e.g. copy_to_webserver1.log)
:: ---------------------------------------------------------------
:: change wait timeout to 1 second and set it to default in registry
:: robocopy D:\ E:\ /r:1 /w:1 /reg
robocopy.exe D:\inetpub\wwwroot\ \webserver1\D$\inetpub\wwwroot\ *.* /E /PURGE /SEC /NP /NJH /NJS /XF keepalive_*.* /XD trigger /XD "D:\inetpub\wwwroot\Long Path Name" /R:5 /COPYALL /LOG:copy_to_webserver1.log