NTBackup Script Procedure
1) Copy robocopy.exe from the Resource Kit to something like c:\backup\tools. This is used in step 5 below.
2) Create a backup list using the GUI version. Save a system state only as night.bks, save all the drives and system state as night-all.bks. Make sure you use the backup directory path listed below in the script or modify to a SAN location.
3) Use the follow for the required .bat file
C:\backup\tools\nightlybackup.bat:
*** BEGIN BAT FILE ***
@ECHO OFF
REM
REM Build Date String yyyymmddhhmm
REM
for /F "usebackq tokens=2" %%i IN (`DATE /T`) DO Set TIMESTR=%%i%
for /F "usebackq tokens=1,2,3 delims=/" %%i IN ('%TIMESTR%') DO SET MONTH=%%i%
for /F "usebackq tokens=1,2,3 delims=/" %%i IN ('%TIMESTR%') DO SET DAY=%%j%
for /F "usebackq tokens=1,2,3 delims=/" %%i IN ('%TIMESTR%') DO SET YEAR=%%k%
for /F "usebackq" %%i IN (`Time /T`) DO Set TIMESTR=%%i%
for /F "usebackq tokens=1,2* delims=:" %%i IN ('%TIMESTR%') DO SET HOUR=%%i%
for /F "usebackq tokens=1,2* delims=:" %%i IN ('%TIMESTR%') DO SET MINUTE=%%j%
SET DIRSTR=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%
SET TIMESTR=
SET MONTH=
SET DAY=
SET YEAR=
SET HOUR=
SET MINUTE=
@ECHO Directory String %DIRSTR%
IF NOT EXIST “c:\backup\tools\nightlybackup.bat” GOTO SKIP
C:\WINDOWS\system32\ntbackup.exe backup "@\\DOMAINCONTROLLERNAME\c$\Backup_DCNAME\night-all.bks" /n "DCNAME.bkf" /d "Nightly" /v:yes /r:no /rs:no /hc:off /m normal /j "Nightly" /l:s /f "\\DOMAINCONTROLLERNAME\C$\Backup_DCNAME\%DIRSTR%DCNAME.bkf"
EXIT
:SKIP
C:\WINDOWS\system32\ntbackup.exe backup "@\\DOMAINCONTROLLERNAME \c$\Backup_DCNAME \night.bks" /n "DCNAME.bkf" /d "SS_Nightly" /v:yes /r:no /rs:no /hc:off /m normal /j "SS_Nightly" /l:s /f "\\DOMAINCONTROLLERNAME\C$\Backup_DCNAME\%DIRSTR%DCNAME.bkf"
EXIT
*** END BAT FILE ***
Comments and legend for the above batch file.
First I turn of echo
Next section builds the current date, we will use this to sort the backup and delete ones older than 7 days.
If not exist statement is useful if you store anything on a SAN drive. If they SAN is down normally the backup will fail, so I check before and then just run night to just backup the system state.
First backup runs a backup of the DOMAINCONTROLLERNAME (replace with a real name), creates a new file called DCNAME.bkf (replace with server name), next I label the backup Nightly, verify is then turned on, restricted access is NOT turned on – you may want it though (so /r:yes would turn it on), hardware compression is turned off, the backup type is set to normal, next the job name is set for backup reporting, next logging is set to summary, and finally the file name is created with the date and time stamp at the front (again for sorting and deleting older files later).
4) To schedule a task to automatically backup a machine. Go to Start-> Control Panel -> Scheduled Tasks -> Add Scheduled Task. During the configuration the following options are selected:
|
Scheduled Task Wizard
|
Next
|
|
Scheduled Task Wizard
Application
|
Browse
C:\backup\tools\nightlybackup.bat
Open
|
|
Scheduled Task Wizard
Type a name for this task
Perform this task
|
Nightly
Daily
Next
|
|
Scheduled Task Wizard
Start Time
Perform this task
Start date
|
3:15 AM
Every Day
(today)
Next
|
|
Scheduled Task Wizard
Enter the user name
Enter the password
Confirm password
|
Next
|
|
Scheduled Task Wizard
Open advanced…
|
Unchecked
Finish
|
5) Finally I use robocopy to clean up, so the backup won’t fill up the disk.
c:\backup\tools\robocopy c:\backup\ c:\backup\t *.bkf /MOV /MINAGE:10 rd /q /s c:\backup\t
I use Robocopy to look at the c:\backup and create a c:\backup\t folder (for temporary). I look for anything that ends with .bkf which is then Moved to the temporary (c:\backup\t) folder, if it is at least 10 days old. This process is done quietly and uses a sub directory of c:\backup\t.
Enjoy, let me know if you have any questions or issues.