IIS: резервное копирование и восстановление сайтов и конфигурации

В этой статье мы рассмотрим, как выполнить резервное копирование сайтов, пулов приложений и конфигурации веб сервера IIS в Windows Server. Вы можете использовать резервную копии Internet Information Services для восстановления сайта в случае сбоя веб- сервера, при переносе (миграции) сайтов (и/или конфигурации IIS) на другой сервер.

Резервное копирование IIS в Windows Server

Резервное копирование данных и конфигурации сайтов, запущенных на веб-сервере Internet Information Service состоит из нескольких этапов:

  1. Резервное копирования файлов сайта (по умолчанию файлы сайтов iss хранятся в %SystemDrive%inetpubwwwroot ). Этот каталог нужно включить в ваш план резервного копирования. Достаточно скопировать файлы все файлы с помощью вашего средства резервного копирования (можно использовать даже встроенный Windows Server Backup -> выберите каталог inetpub для резервного копирования), или простых BAT/PowerShell скриптов. Например, чтобы установить WSB и выполнить резервное копирование каталога inetpubwwwroot в сетевую папку, используйте следующие команды:
    # установите компонент Windows
    Install-WindowsFeature -Name Windows-Server-Backup
    wbadmin start backup –backupTarget:\backupsharebackup -include:c:inetpubwwwroot -vsscopy
  2. Резервное копирование (экспорт) используемых сертификатов IIS (список SSL сертификатов на сервере можно получить командой: netsh http show sslcert ) Для резевного копирования сертфикатов в сетевой каталог в формат pfx, можно использовать PowerShell: dir cert:localmachinemy | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\backupsharebackup$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) }
  3. Резервное копирования конфигурации (настроек) IIS

Рассмотрим, как создать резервную копию конфигурации IIS с помощью встроенной утилиты appcmd . Откройте командную строку с правами администратора и перейдите в каталог:

cd c:Windowssystem32inetsrv

Создадим резервную копию конфигурации IIS:
appcmd add backup srv1-iis-backup-20220316

BACKUP object "srv1-iis-backup-20220316" added

Appcmd создает в каталоге c:Windowssystem32inetsrvbackup папку с именем вашей резервной копии. В ней содержатся следующие файлы:

  • administration.config
  • applicationHost.config
  • MBSchema.xml
  • MetaBase.xml
  • redirection.config

Осталось скопировать этот каталог на устройство хранения резервных копий.

В Windows Server 2019/2016 вместо appcmd вы можете использовать встроенный командлет PowerShell для создания резервной копии IIS:

Backup-WebConfiguration -Name MyBackup202203

Этот командлет также экспортирует текущие настройки IIS в $env:WindirSystem32inetsrvbackup .

Восстановление конфигурации IIS на другом сервере

Вы можете восстановить вашу резервную копию конфигурации IIS на этом же или на другом сервере. Рассмотрим сценарий, что вам нужно восстановить конфигурации IIS из резервной копии на другом сервере.

Скопируйте каталог с резервной копией IIS в ту же папку c:windowssystem32backup на втором сервере:

Чтобы вывести список всех доступных резервных копий конфигурации IIS, выполните команду:

appcmd list backup

Скопированный бэкап должен появился в списке доступных. Выполните восстановление IIS из резервной копии:

appcmd restore backup /stop:true srv1-iis-backup-20220316

Строка Restored configuration from backup srv1-iis-backup-20220316 говорит о том, что конфигурация IIS успешно восстановлена.

Параметр /stop:true принудительно останавливает IIS перед восстановлением.

По аналогии вы можете восстановить конфигурацию IIS с помощью PowerShell:

Restore-WebConfiguration -Name srv1-iis-backup-20220316

Примечание . В списке доступных резервных копий присутствуют записи вида BACKUP “CFGHISTORY_0000000001″. Это автоматически созданные резервные копии конфигурации IIS, хранящиеся в каталоге inetpubhistory. Функция автоматического копирования работает в IIS начиная с версии IIS 7: отслеживаются изменения в ApplicationHost.config внесенные через IIS Manager, хранятся 10 последних версий, файл проверяется на изменение каждые 2 минуты.

Чтобы удалить резервную копию, выполните:

appcmd.exe delete backup BackupName

Примечание . Список важных ограничений и ключевых моментов.
  • На обоих серверах должна использоваться одна и та же версия IIS. Версию IIS в Windows можно получить из реестра с помощью команды PowerShell : get-itemproperty HKLM:SOFTWAREMicrosoftInetStp | select setupstring,versionstring В моем случае это IIS 10.0
  • Если любой пул приложений, запущен не из-под встроенных учетных записей, они должны быть доступны и на втором сервере;
  • Перед восстановлением нужно экспортировать и перенести на новый сервер все используемые сертификаты.

Также вы можете использовать резервное копирование с помощью пакета msdeploy ( https://www.microsoft.com/en-us/download/details.aspx?id=43717 ). Пакет Web Deployment Tool нужно установить на локальный и удаленный компьютер.

Для создания резервной копии IIS (со всеми сайтами, если на IIS запущено несколько сайтов ) на удаленный компьютер 192.168.0.12 через webdeploy, можно использоваться такую команду:

msdeploy -verb:sync -source:webServer,computername=192.168.0.12 dest_package=c:IISBackupsiis_backup.zip

Также можно создать резервную копию отдельного сайта:

msdeploy –verb:sync -source:contentPath="site.com",computername=192.168.0.12 -dest:package=c:IISBackupssite_com_backup.zip

Или скопировать только статические файлы из указанного каталога:

msdeploy –verb:sync –source:dirPath="c:inetputwebsitessitename",computername=192.168.0.12 -dest:package=c:IISBackupssitename_staticfiles.zip

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago