<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Logical Tech &#187; Martijn Jonker</title>
	<atom:link href="http://blog.integrii.net/?feed=rss2&#038;author=8" rel="self" type="application/rss+xml" />
	<link>http://blog.integrii.net</link>
	<description>Work smarter, not harder.</description>
	<lastBuildDate>Fri, 11 Jun 2010 15:11:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adaptation to EricBackup.bat</title>
		<link>http://blog.integrii.net/?p=239</link>
		<comments>http://blog.integrii.net/?p=239#comments</comments>
		<pubDate>Tue, 23 Jun 2009 18:10:49 +0000</pubDate>
		<dc:creator>Martijn Jonker</dc:creator>
				<category><![CDATA[Batch Files]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[ntbackup]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.integrii.net/?p=239</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I took the liberty to adapt EricBackup.bat created by Eric.<br />
Eric graciously permitted me to post to his blog aswell.</p>
<p>I have almost completely rewritten the batchfile for it to meet my fancy ;)<br />
Replaced blat with sendmail and using delage32 to cleanup previous backupfiles and logfiles.<br />
Date and time variables are in European format, change this if you want/need to.<br />
The first part declares a bunch of variables, read this carefully.</p>
<p>Hands down to Eric, he laid the foundation for me to create this.</p>
<p>Below the source I have created. Comments are welcome.</p>
<p><strong>MyBackup.bat</strong></p>
<blockquote><p>@ECHO OFF<br />
:: ====<br />
:: PROGRAM           : MYBACKUP.BAT<br />
:: BY                : M.T.D. JONKER<br />
:: ADAPTED FROM      : EricBackup.bat Version 2.8, <a href="mailto:EricGreer@GMail.com">EricGreer@GMail.com</a>, <a href="http://blog.integrii.net/?p=76">http://blog.integrii.net/?p=76</a><br />
:: CREATION DATE     : 20-12-2008<br />
:: LATEST REVISION   : 22-02-2009<br />
::====<br />
::22-02-2009: REDID REMOVAL OF OLD BACKUPFILES AND LOGFILES THROUGH EXTERNAL TOOL DELAGE32<br />
::20-01-2009: ADDED REMOVAL OF PREVIOUS LOGFILES<br />
::20-01-2009: CREATED VARIABLE &#8220;BACKUPFILE&#8221; TO REMOVE CLUTTER<br />
::20-01-2009: REWROTE REMOVAL OF PREVIOUS BACKUPFILES<br />
::10-01-2009: ADDED REMOVAL OF PREVIOUS BACKUPFILES<br />
::22-12-2008: REPLACED BLAT WITH SENDMAIL<br />
::20-12-2008: REWROTE BATCHFILE<br />
::====<br />
TITLE ADVANCED NTBACKUP SCRIPT<br />
COLOR 1F<br />
::====SET VARIABLES.HERE====<br />
::ADJUST VARIABLES TO MEET YOUR PREFERENCE</p>
<p>::BACKUP RELATED VARIABLES<br />
::SET USERNAME (AS SHOWN IN C:\DOCUMENTS AND SETTINGS\&lt;USERNAME&gt;),<br />
SET USER=&lt;username&gt;<br />
::PATH TO PUT LOGFILES OF THIS BATCHFILE AND NTBACKUP<br />
SET ARCHIVEPATH=C:\Backups\logs<br />
:: ORIGINAL (DEFAULT) LOCATION OF NTBACKUP LOGFILE<br />
SET LOGPATH=&#8221;%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data&#8221;<br />
::SET THE DESTINATION FOLDER OF YOUR BACKUP<br />
SET DESTINATION=C:\BACKUPS\%COMPUTERNAME%<br />
::SET PATH TO SENDMAIL.EXE<br />
SET MAILPATH=C:\Backups\sendmail.exe<br />
::SET PATH TO delage32.exe<br />
SET DAPATH=C:\Backups\delage32.exe<br />
::SET NAME OR IP OF SMTPSERVER TO BE USED<br />
SET SMTPSERVER=smtp.server.com<br />
::SET THE TO ADDRESS<br />
SET <a href="mailto:TO=name@domain.com">TO=name@domain.com</a><br />
::SET THE FROM ADDRESS<br />
SET <a href="mailto:FROM=name@domain.com">FROM=name@domain.com</a><br />
::SET THE SOURCE OF YOUR BACKUP (FOR EXAMPLE: D:) NOT USED IN SYSTEMSTATE BACKUP<br />
::SET SOURCE=D:<br />
::SET A NOTE TO DESCRIBE YOUR BACKUP (USED IN FILENAME, SO REFRAIN FROM USING NON COMPATIBLE CHARACTERS)<br />
::SET NOTE=D-DRIVE<br />
::====COMMAND LINE PASSING====<br />
::THE VARIABLES NOTE AND SOURCE CAN BE PASSED FROM THE COMMAND LINE.<br />
::EIHTER SET THEM ABOVE OR USE THE SETTING BELOW<br />
::COMMENT/UNCOMMENT AS NEEDED<br />
::WHEN PASSED FROM THE COMMAND LINE BOTH SOURCE AND NOTE MUST BE PROPERLY FILLED<br />
::SO USE SHORT FILENAMES SUCH AS C:\DOCUME~1\, WITHOUT QUOTES<br />
SET SOURCE=%2<br />
::USED IN FILENAME, SO REFRAIN FROM USING NON COMPATIBLE CHARACTERS<br />
SET NOTE=%3<br />
::====DONE SETTING MANUAL VARIABLES====</p>
<p>::DETERMINE BACKUPMODE<br />
SET BACKUPMODE=NONE<br />
IF &#8220;%1&#8243; == &#8220;systemstate&#8221; SET BACKUPMODE=SYSTEMSTATE<br />
IF &#8220;%1&#8243; == &#8220;normal&#8221; SET BACKUPMODE=NORMAL<br />
IF &#8220;%1&#8243; == &#8220;differential&#8221; SET BACKUPMODE=DIFFERENTIAL<br />
IF %BACKUPMODE% == NONE GOTO NOPARAMS</p>
<p>::SET TIME AND DATE VARIABLES, (EUROPEAN FORMAT)  DO NOT TOUCH (UNLESS OTHER FORMAT)<br />
FOR /F &#8220;TOKENS=1,2 DELIMS=:&#8221; %%A IN (&#8217;TIME /T&#8217;) DO (<br />
SET HR=%%A<br />
SET MIN=%%B<br />
SET TM=%%A%%B<br />
SET TME=%%A:%%B<br />
)<br />
FOR /F &#8220;TOKENS=2,3,4 DELIMS=- &#8221; %%A IN (&#8217;DATE /T&#8217;) DO (<br />
SET D=%%A<br />
SET M=%%B<br />
SET Y=%%C<br />
SET DT=%%A-%%B-%%C<br />
SET DTE=%%C%%B%%A<br />
)<br />
::====!!!OTHER VARIABLES, DO NOT CHANGE!!!====<br />
:: NAME OF SYSTEM TO BE BACKED UP<br />
SET SYS=%COMPUTERNAME%<br />
::NAME OF BACKUPFILE (THIS IS LATER USED IN REMOVING PREVIOUS BACKUPFILES)<br />
SET BACKUPFILE=%SYS%_%BACKUPMODE%_%NOTE%_%DT%.bkf<br />
::LOGFILE OF THIS BATCHFILE<br />
SET BATCHLOG=%ARCHIVEPATH%\%BACKUPMODE%_%NOTE%_%DT%_%TM%.txt<br />
::NAME OF NTBACKUP LOGFILE TO BE ARCHIVED<br />
SET NTBARCLOG=%BACKUPMODE%_%NOTE%_%DT%_%TM%.log<br />
::====DONE SETTING VARIABLES====<br />
::====</p>
<p>::CREATE ARCHIVE AND DESTINATION PATHS IF THEY DO NOT EXIST<br />
IF NOT EXIST &#8220;%ARCHIVEPATH%&#8221; MD &#8220;%ARCHIVEPATH%&#8221; &amp; ECHO &#8220;ARCHIVE PATH DID NOT EXIST, SO IT WAS CREATED.&#8221; &amp; ECHO.&gt;&gt; %BATCHLOG%<br />
IF NOT EXIST &#8220;%DESTINATION%&#8221; MD &#8220;%DESTINATION%&#8221; &amp; ECHO &#8220;DESTINATION PATH DID NOT EXIST, SO IT WAS CREATED.&#8221; &amp; ECHO.&gt;&gt; %BATCHLOG%</p>
<p>::BACKUP SELECTION, LOG TO CMD WINDOW<br />
ECHO.<br />
ECHO *********************************************************<br />
ECHO * JOB %NOTE% STARTED<br />
ECHO *********************************************************<br />
ECHO *<br />
IF %BACKUPMODE% NEQ SYSTEMSTATE ECHO * JOB SOURCE: %SOURCE%</p>
<p>IF %BACKUPMODE% == SYSTEMSTATE ECHO * %SYS% %BACKUPMODE% BACKUP STARTED AT %TME% ON %DT% &amp; ECHO * TO %DESTINATION%\%BACKUPFILE% &amp; ECHO %SYS% %BACKUPMODE% BACKUP STARTED AT %TME% ON %DT% TO %DESTINATION%\%BACKUPFILE% &gt;&gt; %BATCHLOG%<br />
IF %BACKUPMODE% == DIFFERENTIAL ECHO * %SYS% %BACKUPMODE% BACKUP OF %SOURCE% STARTED AT %TME% ON %DT% &amp; ECHO * TO %DESTINATION%\%BACKUPFILE% &amp; ECHO %SYS% %BACKUPMODE% BACKUP OF %SOURCE% STARTED AT %TME% ON %DT% TO %DESTINATION%\%BACKUPFILE% &gt;&gt; %BATCHLOG%<br />
IF %BACKUPMODE% == NORMAL ECHO * %SYS% %BACKUPMODE% BACKUP OF %SOURCE% STARTED AT %TME% ON %DT% &amp; ECHO * TO %DESTINATION%\%BACKUPFILE% &amp; ECHO %SYS% %BACKUPMODE% BACKUP OF %SOURCE% STARTED AT %TME% ON %DT% TO %DESTINATION%\%BACKUPFILE% &gt;&gt; %BATCHLOG%</p>
<p>::START BACKUP DEPENDING ON BACKUPMODE<br />
IF %BACKUPMODE% == SYSTEMSTATE ntbackup.exe backup systemstate /n &#8220;%sys%-Backup&#8221; /d &#8220;%sys%-Backup&#8221; /v:no /r:no /rs:no /hc:off /j &#8220;%sys%-Backup&#8221; /l:s /f &#8220;%destination%\%BACKUPFILE%&#8221; &gt;&gt; %BATCHLOG%<br />
IF %BACKUPMODE% == DIFFERENTIAL ntbackup.exe backup &#8220;%source%&#8221; /n &#8220;%sys%-Backup&#8221; /d &#8220;%sys%-Backup&#8221; /v:no /r:no /rs:no /hc:off /m differential /j &#8220;%sys%-Backup&#8221; /l:s /f &#8220;%destination%\%BACKUPFILE%&#8221; &gt;&gt; %BATCHLOG%<br />
IF %BACKUPMODE% == NORMAL ntbackup.exe backup &#8220;%source%&#8221; /n &#8220;%sys%-Backup&#8221; /d &#8220;%sys%-Backup&#8221; /v:no /r:no /rs:no /hc:off /m normal /j &#8220;%sys%-Backup&#8221; /l:s /f &#8220;%destination%\%BACKUPFILE%&#8221; &gt;&gt; %BATCHLOG%</p>
<p>::ARCHIVE LOGFILES<br />
::CLEAR TIME VARIABLES AND SET ANEW<br />
SET HR=<br />
SET MIN=<br />
SET TM=<br />
SET TME=<br />
FOR /F &#8220;TOKENS=1,2 DELIMS=:&#8221; %%A IN (&#8217;TIME /T&#8217;) DO (<br />
SET HR=%%A<br />
SET MIN=%%B<br />
SET TM=%%A%%B<br />
SET TME=%%A:%%B<br />
)<br />
::GET NTBACKUP LOGFILE NAME<br />
FOR /F &#8220;TOKENS=1,2,4 DELIMS= &#8221; %%A IN (&#8217;dir %LOGPATH% *.log ^| find &#8220;%dt%&#8221; ^| find &#8220;%tme%&#8221;&#8216;) DO SET NTBLOG=%%C &gt;NUL<br />
ECHO NTBACKUP LOGFILE FOT THIS JOB: %LOGPATH%\%NTBLOG% &gt;&gt; %BATCHLOG%<br />
::COPY AND RENAME THE NTBACKUP LOGFILE<br />
IF EXIST %LOGPATH%\%NTBLOG% copy %LOGPATH%\%NTBLOG% %ARCHIVEPATH% /Y &gt;NUL<br />
IF EXIST %ARCHIVEPATH%\%NTBLOG% ren %ARCHIVEPATH%\%NTBLOG% &#8220;%NTBARCLOG%&#8221;<br />
::CHECK LOGFILE FOR BACKUP SUCCESS<br />
SET ERRORLEVEL=<br />
find /I &#8220;BACKUP COMPLETED&#8221; &#8220;%ARCHIVEPATH%\%NTBARCLOG%&#8221; &gt;NUL<br />
GOTO %ERRORLEVEL%<br />
:0<br />
SET SUCCESS=1<br />
ECHO * BACKUP COMPLETED SUCCESSFULLY &amp; ECHO BACKUP COMPLETED SUCCESSFULLY &gt;&gt; %BATCHLOG%<br />
GOTO SUCCESSBACKUP<br />
:1<br />
SET SUCCESS=0<br />
ECHO * BACKUP FAILED &amp; ECHO BACKUP FAILED &gt;&gt; %BATCHLOG%<br />
GOTO FAILBACKUP</p>
<p>:SUCCESSBACKUP<br />
::SEND EMAIL WITH NTBACKUP LOGFILE ATTACHED<br />
IF %SUCCESS% == 1 %MAILPATH% /smtpserver %SMTPSERVER% /to %TO% /from %FROM% /subject %BACKUPMODE% Backup %NOTE% Successful /body %BACKUPMODE% Backup %NOTE% Successful /attachment %ARCHIVEPATH%\%NTBARCLOG% &gt;&gt; %BATCHLOG%</p>
<p>::CLEANUP PREVIOUS BACKUPFILES<br />
::IF NO PREVIOUS BACKUPFILE EXISTS, SKIP TO CLEANIN LOGFILES<br />
IF NOT EXIST %DESTINATION%\*%BACKUPMODE%_%NOTE%* ECHO NO PREVIOUS BACKUPFILE(S) FOR %BACKUPMODE%_%NOTE% EXIST &gt;&gt; %BATCHLOG% &amp; GOTO CLLOG<br />
::IF PREVIOUS BACKUPFILE(S) EXIST, DELETE ALL PREVIOUS BACKUPFILES. FILTERED BY VARIABLES %BACKUPMODE% &amp; %NOTE%<br />
::THE FOLLOWING STATEMENT IS COMPLETELY DEPENDEND ON THE MAKEUP OF THE VARIABLE %BACKUPFILE%<br />
IF %NOTE% == note %DAPATH% %DESTINATION%\*%BACKUPMODE%_%NOTE%* 60 &gt;&gt; %BATCHLOG% &amp; GOTO CLLOG<br />
IF %BACKUPMODE% == SYSTEMSTATE %DAPATH% %DESTINATION%\*%BACKUPMODE%_%NOTE%* 60 &gt;&gt; %BATCHLOG% &amp; GOTO CLLOG<br />
::FOR /F &#8220;TOKENS=1-7 DELIMS=_-.&#8221; %%A IN (&#8217;DIR %DESTINATION%\*%BACKUPMODE%_%NOTE%* /B&#8217;) DO IF &#8220;%%F%%E%%D&#8221; LSS &#8220;%DTE%&#8221; SET BF=%%A_%%B_%%C_%%D-%%E-%%F.%%G &amp; DEL %DESTINATION%\%BF% &amp; IF ERROLEVEL NEQ 0 ECHO PREVIOUS BACKUPFILE %DESTINATION%\%BF% DELETED &gt;&gt; %BATCHLOG% &amp; GOTO CLLOG<br />
ECHO NO (PREVIOUS) BACKUPFILE(S) DELETED &gt;&gt; %BATCHLOG%</p>
<p>:CLLOG<br />
::CLEANUP ARCHIVED LOGFILES<br />
::IF NO PREVIOUS LOGFILE EXISTS, SKIP TO NEXT<br />
IF NOT EXIST %DESTINATION%\*%BACKUPMODE%_%NOTE%* ECHO NO PREVIOUS LOGFILE(S) FOR %BACKUPMODE%_%NOTE% EXIST &gt;&gt; %BATCHLOG% &amp; GOTO NEXT<br />
::IF PREVIOUS LOGFILE(S) EXIST, DELETE ALL PREVIOUS LOGFILES. FILTERED BY VARIABLES %BACKUPMODE% &amp; %NOTE%<br />
::THE FOLLOWING STATEMENT IS DEPENDEND ON THE MAKEUP OF THE VARIABLE %BATCHLOG% &amp; %NTBARCLOG%<br />
IF %NOTE% == note %DAPATH% %ARCHIVEPATH%\*%BACKUPMODE%_%NOTE%* 60 &gt;&gt; %BATCHLOG% &amp; GOTO NEXT<br />
::FOR /F &#8220;TOKENS=1-5 DELIMS=_-.&#8221; %%A IN (&#8217;DIR %ARCHIVEPATH%\*%BACKUPMODE%_%NOTE%* /B&#8217;) DO IF &#8220;%%F%%E%%D&#8221; LSS &#8220;%DTE%&#8221; SET LF=%%A_%%B_%%C-%%D-%%E_*.* &amp; DEL %ARCHIVEPATH%\%LF% &amp; IF ERROLEVEL NEQ 0 ECHO PREVIOUS LOGFILE(S) %ARCHIVEPATH%\%LF% DELETED &gt;&gt; %BATCHLOG% &amp; GOTO NEXT<br />
ECHO NO (PREVIOUS) LOGFILE(S) DELETED &gt;&gt; %BATCHLOG% &amp; GOTO NEXT</p>
<p>:FAILBACKUP<br />
IF %SUCCESS% == 0 %MAILPATH% /smtpserver %SMTPSERVER% /to %TO% /from %FROM% /subject %BACKUPMODE% Backup %NOTE% Failed /body %BACKUPMODE% Backup %NOTE% Failed /attachment %ARCHIVEPATH%\%NTBARCLOG% &gt;&gt; &#8220;%BATCHLOG%&#8221;</p>
<p>:NEXT<br />
IF EXIST &#8220;%ARCHIVEPATH%\%NTBARCLOG%&#8221; ECHO NTBACKUP.EXE .LOG FILE ARCHIVED AT &#8220;%ARCHIVEPATH%\%NTBARCLOG%&#8221; &gt;&gt; %BATCHLOG%<br />
ECHO BATCHLOG .TXT FILE ARCHIVED AT &#8220;%BATCHLOG%&#8221; &gt;&gt; %BATCHLOG%</p>
<p>GOTO END</p>
<p>:NOPARAMS<br />
ECHO ********************************************************<br />
ECHO THIS FILE MUST BE CONFIGURED BY OPENING IT IN NOTEPAD.<br />
ECHO SETTING THE VARIABLES IN THE VARIABLES SECTION.<br />
ECHO TO RUN THE FILE AFTER YOU CONFIGURE IT,<br />
ECHO YOU MUST SPECIFY A BACKUP TYPE AS THE FIRST PARAMETER.<br />
ECHO THE FIRST PARAMETER SHOULD BE IN lowercase.<br />
ECHO SOURCE AND NOTE CAN BE PASSED FROM THE COMMAND LINE,<br />
ECHO READ THE VARIABLES SECTION OF THIS FILE<br />
ECHO.<br />
ECHO EXAMPLE 1:<br />
ECHO MYBACKUP systemstate [source] [note]<br />
ECHO.<br />
ECHO EXAMPLE 2:<br />
ECHO MYBACKUP normal [source] [note]<br />
ECHO.<br />
ECHO EXAMPLE 3:<br />
ECHO MYBACKUP differential [source] [note]<br />
ECHO.<br />
ECHO ********************************************************<br />
PAUSE</p>
<p>:END<br />
CLS<br />
EXIT</p></blockquote>
<p>Source and support files can be downloaded <a href="http://blog.integrii.net/wp-content/uploads/2009/06/MyBackup.zip">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.integrii.net/?feed=rss2&amp;p=239</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
