如何进行IIS站点/内容备份?

如何进行IIS站点/内容备份?,iis,backup,Iis,Backup,我想学习ASP.NET,为此,我阅读了一些管理IIS Web服务器的基本教程。我想知道如何对我的站点(配置和内容)进行完整备份。我在Hyper-V Windows Server 2012R2 Core上运行IIS服务器,并通过Powershell Remote进行管理 在互联网上,我找到了一篇关于一些基本知识的文章() 本文说,我可以通过网络对我的IIS配置和内容进行完整备份 Backup-WebConfiguration -Name "My Backup" 然后把它恢复过来 Restore-

我想学习ASP.NET,为此,我阅读了一些管理IIS Web服务器的基本教程。我想知道如何对我的站点(配置和内容)进行完整备份。我在Hyper-V Windows Server 2012R2 Core上运行IIS服务器,并通过Powershell Remote进行管理

在互联网上,我找到了一篇关于一些基本知识的文章()

本文说,我可以通过网络对我的IIS配置和内容进行完整备份

Backup-WebConfiguration -Name "My Backup"
然后把它恢复过来

Restore-WebConfiguration -Name "My Backup"
问题是:它似乎只从配置中进行备份,而不是从内容中进行备份。例如:它从IIS:\Sites还原网站,但不还原物理内容,如其中的应用程序文件夹和default.htm。如果我删除default.htm和文件夹,使用Restore WebConfiguration,它仍然不会还原它-只有WebConfiguration本身

从文章中我猜,这将是恢复的内容也。。。。 我做错什么了吗?如果没有MS Web Deploy 3.0中的脚本,我如何“从头开始”完成我想要的任务


感谢您的帮助和问候,

备份网络配置仅备份applicationHost.config文件中详细说明的配置项。它不处理实际内容,只处理IIS如何处理该内容

这两种方法都很简单,这里有一个快速函数,可以创建一个zip文件(只需输入inetpub目录的路径)并备份配置。(这需要Powershell v3或更高版本)备份将自动设置创建日期(您可以使用查看备份列表,因此这将继续并将日期和时间添加到zip文件中,以便进行匹配

如果您在同一天进行多个备份,则需要调整压缩文件的文件名,因为它的文件名中只有日期

function Backup-WebServer
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]            
        [ValidateScript({Test-Path $_})]
        [string]$Source,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [ValidateScript({Test-Path $_})]
        [string]$Destination,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$ConfigurationName
    )

    Add-Type -Assembly System.IO.Compression.FileSystem
    Import-Module WebAdministration
    $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal

    $date = $(Get-Date -Format d).Replace('/','-')
    $fileName = "Inetpub-Backup $date.zip"

    $inetpubBackup = Join-Path -Path $Destination -ChildPath $fileName

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$inetpubBackup,$compressionLevel,$false)

    Backup-WebConfiguration -Name $ConfigurationName

}

Backup WebConfiguration仅备份applicationHost.config文件中详细说明的配置项。它不处理实际内容,只处理IIS如何处理该内容

要做到这两项都很简单,这里有一个快速函数,可以创建一个zip文件(只需输入inetpub目录的路径)并备份配置。(这需要Powershell v3或更高版本)。备份将自动为其设置创建日期(您可以使用查看备份的列表,因此这将继续,并将日期和时间添加到zip文件中,以便它们可以匹配

如果您在同一天进行多个备份,则需要调整压缩文件的文件名,因为它的文件名中只有日期

function Backup-WebServer
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]            
        [ValidateScript({Test-Path $_})]
        [string]$Source,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [ValidateScript({Test-Path $_})]
        [string]$Destination,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$ConfigurationName
    )

    Add-Type -Assembly System.IO.Compression.FileSystem
    Import-Module WebAdministration
    $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal

    $date = $(Get-Date -Format d).Replace('/','-')
    $fileName = "Inetpub-Backup $date.zip"

    $inetpubBackup = Join-Path -Path $Destination -ChildPath $fileName

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$inetpubBackup,$compressionLevel,$false)

    Backup-WebConfiguration -Name $ConfigurationName

}

Backup WebConfiguration仅备份applicationHost.config文件中详细说明的配置项。它不处理实际内容,只处理IIS如何处理该内容

要做到这两项都很简单,这里有一个快速函数,可以创建一个zip文件(只需输入inetpub目录的路径)并备份配置。(这需要Powershell v3或更高版本)。备份将自动为其设置创建日期(您可以使用查看备份的列表,因此这将继续,并将日期和时间添加到zip文件中,以便它们可以匹配

如果您在同一天进行多个备份,则需要调整压缩文件的文件名,因为它的文件名中只有日期

function Backup-WebServer
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]            
        [ValidateScript({Test-Path $_})]
        [string]$Source,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [ValidateScript({Test-Path $_})]
        [string]$Destination,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$ConfigurationName
    )

    Add-Type -Assembly System.IO.Compression.FileSystem
    Import-Module WebAdministration
    $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal

    $date = $(Get-Date -Format d).Replace('/','-')
    $fileName = "Inetpub-Backup $date.zip"

    $inetpubBackup = Join-Path -Path $Destination -ChildPath $fileName

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$inetpubBackup,$compressionLevel,$false)

    Backup-WebConfiguration -Name $ConfigurationName

}

Backup WebConfiguration仅备份applicationHost.config文件中详细说明的配置项。它不处理实际内容,只处理IIS如何处理该内容

要做到这两项都很简单,这里有一个快速函数,可以创建一个zip文件(只需输入inetpub目录的路径)并备份配置。(这需要Powershell v3或更高版本)。备份将自动为其设置创建日期(您可以使用查看备份的列表,因此这将继续,并将日期和时间添加到zip文件中,以便它们可以匹配

如果您在同一天进行多个备份,则需要调整压缩文件的文件名,因为它的文件名中只有日期

function Backup-WebServer
{
    [CmdletBinding()]
    Param
    (
        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]            
        [ValidateScript({Test-Path $_})]
        [string]$Source,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [ValidateScript({Test-Path $_})]
        [string]$Destination,

        [Parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$ConfigurationName
    )

    Add-Type -Assembly System.IO.Compression.FileSystem
    Import-Module WebAdministration
    $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal

    $date = $(Get-Date -Format d).Replace('/','-')
    $fileName = "Inetpub-Backup $date.zip"

    $inetpubBackup = Join-Path -Path $Destination -ChildPath $fileName

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$inetpubBackup,$compressionLevel,$false)

    Backup-WebConfiguration -Name $ConfigurationName

}

如果我想按计划方式备份站点,我可以使用
任务计划程序运行此脚本。对吗?@paolis如果我想按计划方式备份站点,我可以使用
任务计划程序运行此脚本。对吗?@paolis如果我想按计划方式备份站点,我可以使用
任务计划程序运行此脚本。对吗?@Paolis如果我想按计划方式备份站点,我可以使用
任务计划程序运行此脚本。是否正确?@Paolis