Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- color 0c
- MODE CON: COLS=50 LINES=11
- echo ***************************************
- echo Auto SystemState Backup with Retention
- echo Log Archive and Mail Notification
- echo Code By : Saugata Datta
- echo ~~~
- echo (c) http://technochat.in
- echo Date: %DATE%, Time: %TIME%
- echo ***************************************
- ::Backup Settings START
- ::Map Network Share
- set mapdrivename=H:
- set mapdrivepath=\\server\share
- set mapdriveuser=user
- set mapdrivepass=password
- ::Set Backup Path
- ::~~~~~~~~~~~~~~~~~~~~
- set savepath=D:\TestBackup
- ::Set Backup Name
- ::~~~~~~~~~~~~~~~~~~~~
- set backupname=SysBackup
- ::Set Backup Retention Period(in days)
- ::~~~~~~~~~~~~~~~~~~~~
- set retention=3
- ::Set Log Archive Path(Only Folder Name)
- ::~~~~~~~~~~~~~~~~~~~~
- set logarchivepath=BackupLog
- ::If 'yes' then backup log retention will enabled
- ::~~~~~~~~~~~~~~~~~~~~
- set logretention=yes
- ::If avove settings is "yes" then set log Retention Period(in days)
- ::~~~~~~~~~~~~~~~~~~~~
- set logretentionperiod=3
- ::----------x---------
- ::E-Mail Settings (SMTP without authentication will work)
- ::----------x---------
- ::If 'yes' a mail will be fired after backup
- ::~~~~~~~~~~~~~~~~~~~~
- set _mailnotification=yes
- ::If 'yes' backup log will attached with mail
- ::~~~~~~~~~~~~~~~~~~~~
- set attachment=no
- ::Type your e-mail address(for multiple e-mail ID, use ',')
- ::~~~~~~~~~~~~~~~~~~~~
- set email=saugata.datta@technochat.in
- :: Type from mail ID
- ::~~~~~~~~~~~~~~~~~~~~
- set from=%computername%@FC-Auto-NTBackUP
- ::Set SMTP Server IP Address
- ::~~~~~~~~~~~~~~~~~~~~
- set mserver=10.0.0.6
- ::Backup Settings END
- ::--------------------------------
- ::Don't change following lines.
- ::--------------------------------
- forfiles -p "%savepath%" /m *.bkf /s /d -%retention% /c "cmd /C del @FILE"
- :: get the date and time and then into single variable
- for /F "tokens=1-4 delims=/ " %%i in ('date /t') do (
- set MM=%%j
- set DD=%%k
- set YYYY=%%l
- set date=%%k-%%j-%%l
- set dirdate=%%j%%k%%l
- )
- for /f "Tokens=1-2 delims=/ " %%i in ('time /t') do (
- set tm=%%i
- set ampm=%%j
- )
- ::Deleting Old Backup Log files
- if not exist "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" goto _nodel
- del "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" >nul
- :_nodel
- ntbackup.exe backup systemstate /v:no /r:no /rs:no /hc:off /J %backupname% /l:s /f "%savepath%\%backupname%_%computername%_%date%.bkf"
- net use %mapdrivename% "%mapdrivepath%" /USER:%mapdriveuser% %mapdrivepass%
- copy "%savepath%\%backupname%_%computername%_%date%.bkf" %mapdrivename%\
- net use %mapdrivename% /delete >nul
- if not exist "%savepath%\%logarchivepath%" md "%savepath%\%logarchivepath%" >nul
- move "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" %savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt >nul
- if not "%_mailnotification%" == "yes" goto _end
- if not "%attachment%" == "yes" goto _noattach
- blat "%savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt" -attach "%savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt" -to %email% -s "NT Backup Success/Failure Report of %computername%" -f "%from%" -server "%mserver%" > nul
- goto _skip
- :_noattach
- blat "%savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt" -to %email% -s "NT Backup Success/Failure Report of %computername%" -f "%from%" -server "%mserver%" > nul
- :_skip
- if not "%logretention%" == "yes" goto _end
- forfiles -p "%savepath%\%logarchivepath%" /m *.txt /s /d -%logretentionperiod% /c "cmd /C del @FILE"
- :_end
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement