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')) ) } IIS: резервное копирование и восстановление сайтов и конфигурацииIIS: резервное копирование и восстановление сайтов и конфигурации
  3. Резервное копирования конфигурации (настроек) IIS

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

cd c:Windowssystem32inetsrv

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

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

appcmd утилита для резевного копирования IIS конфигурацииappcmd утилита для резевного копирования IIS конфигурации

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

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

2 недели ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

2 недели ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

2 недели ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

2 недели ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

2 недели ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

2 недели ago