Перенесення конфігурації сайтів IIS 6

Перенесення конфігурації сайтів IIS 6.0 на інший сервер

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

Metabase backup може тільки бути віднесений до поточного машини. The Metabase backup може не відновити після Windows is reinstalled!

Для перенесення сайтів на інший сервер потрібно використовувати WebDeploy.

Ця утиліта має HowTo, в якому я не знайшов звичайного бекапа всієї конфігурації.

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

  • Для бекапа application pools використовується команда:
  • Для бекапа конфігурації сайтів доведеться трохи повозитися

Для збереження конфігурації окремого сайту використовуємо команду: "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

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

для /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