Перенос конфигурации сайтов IIS 6.0 на другой сервер 

Стандартное средство для бекапа/восстановления IIS Metabase предназначено для использования в пределах одного инстанса Windows. Для переноса на другой сервер или после переустановки ОС оно не подходит. В руководстве четко написано:

The Metabase backup can only be restored to the current machine.
The Metabase backup can not be restored after Windows is reinstalled!

Для переноса сайтов на другой сервер необходимо использовать WebDeploy.

У данной утилиты есть HowTo, в котором я не нашел обычного бекапа всей конфигурации.

На исходном сервере

  • Для бекапа application pools используется команда:
«C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy» -verb:sync -source:metakey=lm/w3svc/AppPools -dest:archivedir=c:\backup\IISAppPool,encryptPassword=ExebitWordpressCom
  • Для бекапа конфигурации сайтов придется немного повозиться

Для сохранения конфигурации отдельного сайта используем команду:
"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" -verb:sync -source:metakey=lm/w3svc/1 -dest:archivedir=c:\backup\site_1,encryptPassword=ExebitWordpressCom

где lm/w3svc/1 — это пусть к сайту в масштабах IIS Metabase Explorer
В случае 20+ сайтов в ручную прописывать каждый id трудоемко и опасно из-за высокой вероятности ошибки. Админам так поступать нельзя!

Для начала необходимо получить список id сайтов, для этого настраиваем IIS Manager таким образом, чтобы отображаемые поля в разделе Web Sites, были сконфигурированы следующим образом:

Далее выгружаем список используя Export list в текстовый файл, из которого в MS Word или Notepad ++ вырезаем блок с идентификаторами, копируем в новый файл, чистим от знаков табуляции, сохраняем в файл 1.txt

Далее построчно, для каждого id, запускаем экспорт данных:
for /f %i in (1.txt) do "C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" -verb:sync -source:metakey=lm/w3svc/%i -dest:archivedir=c:\backup\site_%i,encryptPassword=ExebitWordpressCom

Вуаля! В каталоге c:\backup у нас выложена вся необходимая конфигурация

На целевом сервере

  • Для восстановления Application pools

"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" -verb:sync -source:archivedir=c:\backup\IISAppPool,encryptPassword=ExebitWordpressCom -dest:metakey=lm/w3svc/AppPools

  • Для восстановления конфигурации одного сайта

"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" -verb:sync -source:archivedir=c:\backup\site_1,encryptPassword=ExebitWordpressCom -dest:metakey=lm/w3svc/1

  • Для восстановления конфигурации всех сайтов с использованием списка сайтов используем скрипт:

for /f %i in (1.txt) do "C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy" -verb:sync -source:archivedir=c:\backup\site_%i,encryptPassword=ExebitWordpressCom -dest:metakey=lm/w3svc/%i