I talked about Web Deploy before. It allows you to easily deploy your web applications to IIS without much overhead. I use it most of the time. Last week I asked the server administrator to enable the automatic backup feature on the web server.
Once I got the confirmation email that it was configured, I did a new deployment to test the backup feature.
After the deployment completed succesfully, I opened a command prompt and browsed to C:\Program Files (x86)\IIS\Microsoft Web Deploy V3.
Print the list of backups
I used the following command to dump the list of created backups:
msdeploy -verb:dump -source:backupManager="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"
But the output window returned nothing. No backups were created.
Print the backup settings
I switched to another command to dump the backupSettings from the server:
msdeploy -verb:dump -source:backupSettings="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"
This time I got some information back:
Info: Using ID '5263eab5-358c-4f3a-9d65-b60f2bade089' for connections to the remote server.
MSDeploy.backupSettings development.customer.be/appname
MSDeploy.backupSettings/backupSettings[@path=’development.customer.be/appname']/backupSetting[@turnedOn='False']
MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname]/backupSetting[@enabled='True']
MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@numberOfBackups='4']
MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@continueSyncOnBackupFailure='True']
MSDeploy.backupSettings/backupSettings[@path='development.customer.be/appname']/backupSetting[@excludedProviders='appPoolEnable32Bit; setAcl; appPoolPipeline; createApp; appHostAuthOverride; appPoolNetFx']
There are 2 important things I noticed in the config:
- The Backup feature is enabled at the site level.
- The Backup feature is turned off in IIS.
So that explains why we don’t see a backup. We still have to turn on the backup feature.
Turn on backups on the server
Log on to the webserver and execute the following Powershell command:
PS C:\Program Files\iis\Microsoft Web Deploy V3\scripts> TurnOn-Backups -On $true
11:43:53 Information Turning Backup Feature On. In order for backups to execute, they still need to be enabled at either the server or site level.
After doing this I did a new deploy. Let’s dump the list of packages again:
msdeploy -verb:dump -source:backupManager="development.customer.be/appname",computerName="serverXX",userName="UserXYZ",password="PasswordXYZ"
This time I got some data back:
Info: Using ID '7b36c65f-fcf1-48e7-a26b-16f8438473ae' for connections to the remote server.
MSDeploy.backupManager development.customer.be/appname
msdeploy_2013_03_15_11_17_34.zip