<?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>cardus.com &#187; Exchange</title>
	<atom:link href="http://www.cardus.com/category/tech/exchange/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cardus.com</link>
	<description>Sean Cardus&#039;s Website</description>
	<lastBuildDate>Wed, 06 Apr 2011 13:43:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Backing up Windows Server 2008 &amp; Exchange Server 2007 With Bacula</title>
		<link>http://www.cardus.com/2009/01/13/backing-up-windows-server-2008-exchange-server-2007-with-bacula/</link>
		<comments>http://www.cardus.com/2009/01/13/backing-up-windows-server-2008-exchange-server-2007-with-bacula/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 13:52:19 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Bacula]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.cardus.com/2009/01/13/backing-up-windows-server-2008-exchange-server-2007-with-bacula</guid>
		<description><![CDATA[Over the past couple of days I’ve been battling away trying to get the Win32 Bacula agent to back up my Windows Server 2008 System State&#160; and Exchange Server 2007 Information Store Databases. Bacula currently doesn’t support VSS backups of a 64-Bit version of Windows Server 2008, so there’s a number of hoops you have [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past couple of days I’ve been battling away trying to get the Win32 Bacula agent to back up my Windows Server 2008 System State&#160; and Exchange Server 2007 Information Store Databases.</p>
<p>Bacula currently doesn’t support VSS backups of a 64-Bit version of Windows Server 2008, so there’s a number of hoops you have to jump through to get even a semi-reliable System State &amp; Exchange backup.&#160; For an Exchange backup we use the NTBACKUP binaries from Windows Server 2003 64-bit and for the System State we use the Windows Server 2008 wbadmin tools.</p>
<p>For both jobs we’ll use a couple of “Client Run Before Job” commands to trigger client-side scripts to run the client-side backup jobs…</p>
<p> <span id="more-167"></span>
<p align="center"><strong>WARNING: This method works for me, but please test and then test some more before relying on any backups made like this!</strong></p>
<h2>Exchange Backups</h2>
<p>First of all, grab the ntbackup.exe, ntmsapi.dll and vssapi.dll binaries from a Windows 2003 64-bit server – They should be located in C:\Windows\System32 by default.&#160; Place the binaries in their own directory.&#160; eg: C:\Program Files\NTBackup </p>
<p>Next, create a folder to store the scripts &amp; Exchange database backup files.&#160; eg: C:\Backup </p>
<p>Run NTBackup, cancel the wizard, click the “Backup” tab, browse the tree and tick “Microsoft Information Store” under your Exchange Server:    <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ntbackuptree" border="0" alt="ntbackuptree" src="http://www.cardus.com/wp-content/uploads/2009/01/ntbackuptree.jpg" width="240" height="91" /> </p>
<p>Click “Job” then “Save Selections”, save the file as “C:\Backup\Exchange Backup.bks” then exit NTBackup.</p>
<p>Create a text file in C:\Backup named “BackupExchange.cmd” with the following contents (watch for line-wrapping, the following should be all on one line): </p>
<blockquote><p>start /W &quot;&quot; &quot;c:\Program Files\ntbackup\ntbackup.exe&quot; backup &quot;@c:\backup\Exchange Backup.bks&quot; /N &quot;Exchange Backup&quot; /F &quot;c:\backup\Exchange Backup.bkf&quot; /FU /L:f /M normal</p>
</blockquote>
<p>This script will run a full Exchange Information Store backup on-demand and store it in C:\Backup\Exchange Backup.bkf, overwriting this files previous contents.</p>
<p>Next, we’ll edit our existing Bacula client config to skip the C:\Backup folder for standard backups and create a a new job to trigger the above script and backup the C:\Backup folder:</p>
<blockquote><p>Client {      <br />&#160; Name = exchange-fd       <br />&#160; Address = exchange.server.address.here       <br />&#160; FDPort = 9102       <br />&#160; Catalog = MyCatalog       <br />&#160; Password = &quot;my_bacula_fd_password&quot;       <br />&#160; File Retention = 30 days       <br />&#160; Job Retention = 6 months       <br />&#160; AutoPrune = yes       <br />&#160; Maximum Concurrent Jobs = 1       <br />}</p>
<p>Job {      <br />&#160; Name = &quot;Exchange&quot;       <br />&#160; JobDefs = &quot;DefaultJob&quot;       <br />&#160; Schedule = &quot;MondayFull&quot;       <br />&#160; Client = exchange-fd       <br />&#160; FileSet = &quot;Exchange FileSet&quot;       <br />&#160; Write Bootstrap = &quot;/var/lib/bacula/exchange.bsr&quot;       <br />} </p>
<p>Job {      <br />&#160; Name = &quot;Exchange DB&quot;       <br />&#160; JobDefs = &quot;DefaultJob&quot;       <br />&#160; Schedule = &quot;MondayFull&quot;       <br />&#160; Client = exchange-fd       <br />&#160; FileSet = &quot;Exchange DB&quot;       <br />&#160; Write Bootstrap = &quot;/var/lib/bacula/exchangedb.bsr&quot;       <br />&#160; Level = Full       <br />&#160; Client Run Before Job = &quot;C:/Backup/BackupExchange.cmd&quot;       <br />}</p>
<p>FileSet {      <br />&#160; Name = &quot;Exchange FileSet&quot; </p>
<p>&#160; Include {      <br />&#160;&#160;&#160; Options {       <br />&#160;&#160;&#160;&#160;&#160; signature = MD5       <br />&#160;&#160;&#160;&#160;&#160; compression = GZIP       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; File = &quot;C:/&quot;       <br />&#160; } </p>
<p>&#160; Exclude {      <br />&#160;&#160;&#160; File = &quot;C:/pagefile.sys&quot;       <br />&#160;&#160;&#160; File = &quot;C:/Backup&quot;       <br />&#160; }       <br />}</p>
<p>FileSet {      <br />&#160; Name = &quot;Exchange DB&quot; </p>
<p>&#160; Include {      <br />&#160;&#160;&#160; Options {       <br />&#160;&#160;&#160;&#160;&#160; signature = MD5       <br />&#160;&#160;&#160;&#160;&#160; compression = GZIP       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; File = C:/Backup       <br />&#160; }       <br />}</p>
</blockquote>
<p>Once we’ve done this, we can reload the bacula config and we’ll be good to go!</p>
<h2></h2>
<h2>System State Backups</h2>
<p>System state backups are a bit trickier – Because we’re running the 32-bit Bacula-fd binary, we’re inside the 32-bit WOW compatibility environment.&#160; Inside this environment, C:\Windows\System32 is remapped to C:\Windows\SysWOW64 which contains 32-bit binaries.&#160; However, the backup tool we require (wbadmin) is 64-bit only and is not available to us due to this re-mapping. Attempts to copy the wbadmin.exe binary to another location proved unsuccessful with other strange error messages.</p>
<p>However, the following method/kludge <strong>does</strong> work:</p>
<p>Copy the 64-bit C:\Windows\System32\cmd.exe to C:\Backup</p>
<p>Create a text file in C:\Backup named “BackupSystemState.cmd” with the following contents (watch for line-wrapping, the following should be on 2 lines, each starting with “start /W”): </p>
<blockquote><p>start /W &quot;&quot; c:\backup\cmd.exe /C start /W &quot;&quot; c:\windows\system32\wbadmin delete systemstatebackup -backupTarget:d: -keepVersions:0 -quiet      <br />start /W &quot;&quot; c:\backup\cmd.exe /C start /W &quot;&quot; c:\windows\system32\wbadmin start systemstatebackup -backupTarget:d: –quiet</p>
</blockquote>
<p>This script works by first of all launching the 64-bit command-prompt, then in turn launching the wbadmin backup process.&#160; The 2 commands being run here first of all delete any existing System State backups from D:, then starts a new System State backup with D: as the target volume.</p>
<p>Next, we’ll edit our Bacula client config again, adding the following new FileSet and Job:</p>
<blockquote><p>Job {      <br />&#160; Name = &quot;Exchange SS&quot;       <br />&#160; JobDefs = &quot;DefaultJob&quot;       <br />&#160; Schedule = &quot;MondayFull&quot;       <br />&#160; Client = exchange-fd       <br />&#160; FileSet = &quot;Exchange SS&quot;       <br />&#160; Write Bootstrap = &quot;/var/lib/bacula/exchangess.bsr&quot;       <br />&#160; Level = Full       <br />&#160; Client Run Before Job = &quot;C:/Backup/BackupSystemState.cmd&quot;       <br />}</p>
<p>FileSet {      <br />&#160; Name = &quot;Exchange SS&quot; </p>
<p>&#160; Include {      <br />&#160;&#160;&#160; Options {       <br />&#160;&#160;&#160;&#160;&#160; signature = MD5       <br />&#160;&#160;&#160;&#160;&#160; compression = GZIP       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; File = D:/       <br />&#160;&#160;&#160; File = C:/Windows/Logs/WindowsServerBackup/       <br />&#160; }       <br />}</p>
</blockquote>
<p>After reloading the Bacula config, you should be all set!</p>
<p>Drop me a line if you have any comments/suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cardus.com/2009/01/13/backing-up-windows-server-2008-exchange-server-2007-with-bacula/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 7/13 queries in 0.006 seconds using apc
Object Caching 314/323 objects using apc

Served from: www.cardus.com @ 2012-02-05 23:39:55 -->
