IIS 7 Backup and Restore

With Exchange becoming only more integrated with Microsoft’s web server, Internet Information Services, it is becoming a more and more critical service. One thing I’ve always wanted, but have never been satisfied with, is the backup and restore capabilities (or lack thereof) built into IIS. Apache is a very simple web server to back up, as everything is flat file. On the other hand, IIS uses a combination of the registry and file configuration. This is just a graphical approach to the “appcmd” functionality of IIS.

For this reason, I was quite excited when I found this blog post by Rakki Muthukumar over at MSDN blogs. Rakki has written a module for IIS 7 (which also works with 7.5) to allow for simple backing up and restoring of IIS. Simply download the extension here to get started. Installation is not trivial but should not pose any problem to those familiar with the keyboard and mouse. From a command line run gacutil –i IIS7BackupRestore.dll to insert it into your Global Assembly Cache. Secondly, open %WINDIR%\System32\InetSrv\config\Administration.config in your favourite text editor, then inside the <moduleProviders> section, add the following line:

<add name="IIS7BackupRestoreUI" type="IIS7BackupRestoreUI.MyModuleProvider, IIS7BackupRestoreUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db9daa3d2ea5f6fd" />

Inside the <modules> section of the same file, add the following line:

<add name="IIS7BackupRestoreUI" />

Restart IIS Manager and you’ll see the module here:

One thing to note is that the module (at least graphically) does not give you the option to delete or rename the backups, so take a moment to decide on a naming convention. I’d suggest something like Date – Action. For example 2011-12-21-NewSSLCertificate.

Written on December 21, 2010