View difference between Paste ID: NBh91aEE and
SHOW: | | - or go back to the newest paste.
1-
1+
@echo off
2
color 0c
3
MODE CON: COLS=50 LINES=11
4
echo ***************************************
5
echo Auto SystemState Backup with Retention
6
echo Log Archive and Mail Notification
7
echo Code By : Saugata Datta
8
echo ~~~
9
echo (c) http://technochat.in
10
echo Date: %DATE%, Time: %TIME%
11
echo ***************************************
12
::Backup Settings START
13
::Map Network Share
14
set mapdrivename=H:
15
set mapdrivepath=\\server\share
16
set mapdriveuser=user
17
set mapdrivepass=password
18
::Set Backup Path
19
::~~~~~~~~~~~~~~~~~~~~
20
set savepath=D:\TestBackup
21
::Set Backup Name
22
::~~~~~~~~~~~~~~~~~~~~
23
set backupname=SysBackup
24
::Set Backup Retention Period(in days)
25
::~~~~~~~~~~~~~~~~~~~~
26
set retention=3
27
::Set Log Archive Path(Only Folder Name)
28
::~~~~~~~~~~~~~~~~~~~~
29
set logarchivepath=BackupLog
30
::If 'yes' then backup log retention will enabled
31
::~~~~~~~~~~~~~~~~~~~~
32
set logretention=yes
33
::If avove settings is "yes" then set log Retention Period(in days)
34
::~~~~~~~~~~~~~~~~~~~~
35
set logretentionperiod=3
36
::----------x---------
37
::E-Mail Settings (SMTP without authentication will work)
38
::----------x---------
39
::If 'yes' a mail will be fired after backup
40
::~~~~~~~~~~~~~~~~~~~~
41
set _mailnotification=yes
42
::If 'yes' backup log will attached with mail
43
::~~~~~~~~~~~~~~~~~~~~
44
set attachment=no
45
::Type your e-mail address(for multiple e-mail ID, use ',')
46
::~~~~~~~~~~~~~~~~~~~~
47
set email=saugata.datta@technochat.in
48
:: Type from mail ID
49
::~~~~~~~~~~~~~~~~~~~~
50
set from=%computername%@FC-Auto-NTBackUP
51
::Set SMTP Server IP Address
52
::~~~~~~~~~~~~~~~~~~~~
53
set mserver=10.0.0.6
54
::Backup Settings END
55
::--------------------------------
56
::Don't change following lines.
57
::--------------------------------
58
forfiles -p "%savepath%" /m *.bkf /s /d -%retention% /c "cmd /C del @FILE"
59
:: get the date and time and then into single variable
60
for /F "tokens=1-4 delims=/ " %%i in ('date /t') do (
61
set MM=%%j
62
set DD=%%k
63
set YYYY=%%l
64
set date=%%k-%%j-%%l
65
set dirdate=%%j%%k%%l
66
)
67
for /f "Tokens=1-2 delims=/ " %%i in ('time /t') do (
68
set tm=%%i
69
set ampm=%%j
70
)
71
::Deleting Old Backup Log files
72
if not exist "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" goto _nodel
73
del "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" >nul
74
:_nodel
75
ntbackup.exe backup systemstate /v:no /r:no /rs:no /hc:off /J %backupname% /l:s /f "%savepath%\%backupname%_%computername%_%date%.bkf"
76
net use %mapdrivename% "%mapdrivepath%" /USER:%mapdriveuser% %mapdrivepass%
77
copy "%savepath%\%backupname%_%computername%_%date%.bkf" %mapdrivename%\
78
net use %mapdrivename% /delete >nul
79
if not exist "%savepath%\%logarchivepath%" md "%savepath%\%logarchivepath%" >nul
80
move "%SystemDrive%%HOMEPATH%\Local Settings\Application Data\Microsoft\Windows NT\NTbackup\Data\*.log" %savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt >nul
81
if not "%_mailnotification%" == "yes" goto _end
82
if not "%attachment%" == "yes" goto _noattach
83
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
84
goto _skip
85
:_noattach
86
blat "%savepath%\%logarchivepath%\%backupname%_%computername%_%date%.txt" -to %email% -s "NT Backup Success/Failure Report of %computername%" -f "%from%" -server "%mserver%" > nul
87
:_skip
88
if not "%logretention%" == "yes" goto _end
89
forfiles -p "%savepath%\%logarchivepath%" /m *.txt /s /d -%logretentionperiod% /c "cmd /C del @FILE"
90
:_end
91
exit