A parte do nome do arquivo do backup é a pior parte para criar. Você precisa ser capaz de criar um novo arquivo todos os dias sem muito trabalho. Então, aqui está o que eu uso:
Se você combinar duas dessas respostas (a minha e a anterior), você receberá esta joia:
set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2%
xcopy "%ProgramFiles%\ApplicationName\filename.mdb" C:\Backup\%mydate%_filename.mdb /H /K /O /Y
Ao fazer isso, você terá um arquivo para a sua execução, nomeado com a data.
Um script de backup completo ficaria assim
@echo off
:: Yes this looks bad, but it works, it sets the file veriable mydate to YYYY_MM_DAY
set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2%
echo Backing up DC1:
:: start a new backup session, the /M switch is for the type of bakcup being performed, type ntbackup /? for more info
start /wait ntbackup backup \DC1\c$ /j "DC1 Backup" /f "C:\BAK\DC1\DC1_%mydate%.bkf" /M incremental
echo DC1 is Done
echo Backing up EXCH:
start /wait ntbackup backup \EXCH\c$ /j "EXCH Backup" /f "C:\BAK\EXCH\EXCH_%mydate%.bkf" /M incremental
echo EXCH is Done
echo Backing up FS1:
start /wait ntbackup backup \FS1\c$ /j "FS1 Backup" /f "C:\BAK\FS1\FS1_%mydate%.bkf" /M incremental
echo FS1 is Done
echo Backup was completed %date% %time%
pause
Esta é uma solução interativa completa. Mas o poder real está na linha set mydate
. Ser capaz de cortar uma string é uma arte esquecida no DOS;
set mydate=%date:~10,4%_%date:~4,2%_%date:~7,2%
Eu pego o comando output of date, depois o corto e cito algo que pode ser usado como um nome de arquivo. Dessa forma, um novo arquivo é criado todos os dias e você pode ter um sistema de backup "real".
Basta editar os nomes do servidor, DC1, FS1, EXCH e colocar seus próprios, ou apenas usar caminhos de unidade.