当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何备份和恢复网站和 IIS 配置

作者:精品下载站 日期:2024-12-14 23:20:51 浏览:14 分类:玩电脑

如何备份和恢复网站和 IIS 配置


在本文中,我们将了解如何在 Windows Server 上备份网站、应用程序池和 IIS Web 服务器配置。在主机服务器发生故障或将网站(和/或 IIS 配置)迁移/移动到另一台服务器时,您可以使用 Internet 信息服务备份来恢复网站。

在 Windows Server 上备份 IIS

备份在 Internet 信息服务 Web 服务器上运行的站点的数据和配置包含以下几个步骤:

  1. 备份 IIS 网站文件(默认情况下,IIS 网站文件存储在

    %SystemDrive%\inetpub\wwwroot

    )。该文件夹必须包含在备份计划中。使用备份工具(甚至可以使用内置的 Windows Server Backup -> 选择 inetpub 目录进行备份)或简单的 BAT/PowerShell 脚本复制所有文件就足够了。例如,要安装 WSB 并将 inetpub\wwwroot 目录备份到共享文件夹,请使用以下命令:

    # Install the Windows server feature using PowerShell;
    Install-WindowsFeature -Name Windows-Server-Backup
    # backup IIS website static files
    wbadmin start backup -backupTarget:\srv-backup1\backup -include:c:\inetpub\wwwroot -vsscopy
  2. 备份(导出)当前的 IIS 证书(您可以使用以下命令获取服务器上的 SSL 证书列表:

    netsh http show sslcert

    )您可以使用PowerShell将证书以PFX(个人信息交换)格式备份到共享网络文件夹:

    dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\srv-backup1\backup$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) }

    [玩转系统] 如何备份和恢复网站和 IIS 配置

  3. 备份 IIS 配置(设置)。

您可以使用内置的 appcmd 工具备份 IIS 配置。以管理员身份打开命令提示符并更改目录:

cd c:\Windows\system32\inetsrv

让我们备份 IIS 配置:

appcmd add backup srv1-iis-backup-2022_03_10
BACKUP object srv1-iis-backup-2022_03_10 added

[玩转系统] 如何备份和恢复网站和 IIS 配置

Appcmd 使用备份的名称在 c:\Windows\system32\inetsrv ackup 目录中创建一个文件夹。它包含以下文件:

  • 管理配置

  • 应用程序主机配置

  • MBSchema.xml

  • 元数据库.xml

  • 重定向配置

[玩转系统] 如何备份和恢复网站和 IIS 配置

剩下的就是将该目录复制到备份存储设备。

在 Windows Server 2019/2016 上,您可以使用内置 PowerShell cmdlet 来备份 IIS,而不是 appcmd:

Backup-WebConfiguration -Name MyBackup202203

此 cmdlet 还将当前 IIS 设置导出到

$env:Windir\System32\inetsrv\backup

在不同的 Windows Server 主机上恢复 IIS 配置

您可以将 IIS 配置从备份恢复到同一服务器或不同的主机。假设您需要在不同的 Windows Server 主机上恢复 IIS 配置。

将 IIS 备份目录复制到目标服务器上的同一文件夹 (c:\windows\system32 ackup)。

要显示所有可用 IIS 配置备份的列表,请运行以下命令:

appcmd list backup

复制的备份应该出现在可用备份列表中。从备份恢复 IIS 配置:

appcmd restore backup /stop:true srv1-iis-backup-2022_03_10

[玩转系统] 如何备份和恢复网站和 IIS 配置

“从备份恢复配置srv1-iis-backup-2022_03_10表示 IIS 配置已成功恢复。

/stop:true

选项强制 IIS 在恢复之前停止。

Restore-WebConfiguration -Name srv1-iis-backup-2022_03_10

注意。有像这样的条目

BACKUP “CFGHISTORY_0000000001”

在可用备份列表中。这些是自动创建的 IIS 配置备份,位于 \inetpub\history 目录中。 IIS 7+ 中出现了自动备份功能:跟踪通过 IIS 管理器对 ApplicationHost.config 所做的更改,存储 10 个最新备份,并且每 2 分钟检查一次文件是否有更改。

要删除以前的备份,请运行以下命令:

appcmd.exe delete backup BackupName

注意。重要限制和要点列表:

  • 两台服务器必须使用相同的 IIS 版本。您可以使用 PowerShell 在注册表中检查 IIS 版本:

    get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring

    就我而言,这是 IIS 10.0

    [玩转系统] 如何备份和恢复网站和 IIS 配置

  • 如果 IIS 应用程序池不是从内置帐户运行,则它们必须在目标 IIS 主机上可用。

  • 在恢复 IIS 之前,您必须将使用的所有 SSL 证书导入到新服务器。

您还可以使用 msdeploy 包(Web 部署工具)备份 IIS Web 服务器。在 IIS 主机和目标备份主机上下载并安装 msdeploy 包 (https://www.microsoft.com/en-us/download/details.aspx?id=43717)。

要通过 webdeploy 创建到远程 Windows 主机 192.168.100.112 的 IIS 备份(如果多个站点在 IIS 上运行,则包含所有站点),可以使用以下命令:

msdeploy -verb:sync -source:webServer,computername=192.168.100.112 dest:package=c:\Backup\IIS\server1_iis_backup.zip

您还可以备份单个 IIS 网站:

msdeploy -verb:sync -source:contentPath="site_name.com",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name.zip

或者仅从指定目录复制静态网站文件:

msdeploy -verb:sync -source:dirPath="c:\inetpub\wwwroot\site_name",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name_static_files.zip

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯