• [2016-09-09]IIS站点发布、同步和备份工具MSdeploy(WebDeploy)介绍



    前提准备:完整安装Microsoft Web Deploy 3
    下载页面:WebDeploy_amd64_zh-CN.msi

    msdeploy 同步站点

    命令所在目录C:Program FilesIISMicrosoft Web Deploy V3>

    msdeploy.exe -verb:sync -source:iisapp=<siteName> -dest:auto,computername=<remoteComputerName>
    

    msdeploy 启用backup

    1. 以管理员身份打开powershell,进入路径%programfiles%IISMicrosoft Web Deploy V3scripts
    2. 加载BackupScripts.ps1(加载ps脚本,使用. .BackupScripts.ps1
    3. 根据需要执行以下命令
      # Turns on all backup functionality
      TurnOn-Backups -On $true                  #启用必须执行这条
      # Turns off all backup functionality
      TurnOn-Backups -On $false
      # Changes default global backup behavior to enabled
      Configure-Backups -Enabled $true          #启用必须执行这条
      # Changes default backup behavior for site "foo" to enabled
      Configure-Backups -SiteName "foo" -Enabled $true
      # Changes the path of where backups are stored to a sibling directory named "siteName_snapshots".  
      # For more information about path variables, see the "backupPath" attribute in the section 
      # "Configuring  Backup Settings on the Server for Global usage manually in IIS Config"
      Configure-Backups -BackupPath "{SitePathParent}{siteName}_snapshots"
      # Configures default backup limit to 5 backups
      Configure-Backups -NumberOfBackups 5
      # Configures sync behavior to fail if a sync fails for any reason
      Configure-Backups -ContinueSyncOnBackupFailure $false  #如果备份失败则不继续同步
      # Adds providers to skip when performing a backup
      Configure-Backups -AddExcludedProviders @("dbmysql","dbfullsql")
    

    默认备份目录为:{sitePathParent}{siteName}_snapshots

    查看本地backup配置,cmd命令

    msdeploy.exe -verb:dump -source:backupSettings=com.test.msdeploy -xml
    

    查看指定服务器的backup配置

    msdeploy.exe -verb:dump -source:backupSettings=com.test.msdeploy,computername=sh-test -xml
    
       <output>  
       <traceEvent eventLevel="Info" type="Microsoft.Web.Deployment.DeploymentAgentTraceEvent" message="正在将 ID“73c5bf3e-9ffe-4c9d-bdfa-8d2bb402c6bf”用于到远程服务器的连接。" />  
       <MSDeploy.backupSettings>  
           <backupSettings path="com.test.msdeploy">  
           <backupSetting turnedOn="True" ReadWrite="False" />  
           <backupSetting enabled="True" ReadWrite="False" />  
           <backupSetting numberOfBackups="4" ReadWrite="False" />  
           <backupSetting continueSyncOnBackupFailure="False" ReadWrite="False" />  
           <backupSetting excludedProviders="appPoolEnable32Bit; appHostAuthOverride;appPoolNetFx; appPoolPipeline; setAcl; createApp" ReadWrite="False" />  
           </backupSettings>  
       </MSDeploy.backupSettings>  
       </output>  
    

    msdeploy的source选项和dest选项可以通过指定computername进行远程服务器之间操作
    msdeploy的备份配置远程同步需要设置iis服务委派和授权等,略过不表

    msdeploy 手动backup

    msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=siteName
    msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=siteName,computername=<yourComputerName>
    

    msdeploy rollback

    #查看所有的备份
    msdeploy.exe -verb:dump -source:backupManager=<siteName>
    #用最近的一份备份还原
    msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=<siteName>,useLatest=true
    

    msdeploy公共设置

    公共设置(可用于所有提供程序):

    • computerName=<名称> 远程计算机的名称或代理 URL
    • wmsvc=<名称> 用于 Web 管理服务(WMSvc)的远程计算机的名称或代理 URL。假设服务正在侦听端口8172。
    • authtype=<名称> 要使用的身份验证方案。默认设置为“NTLM”。如果指定了wmsvc选项,则默认设置为“基本”。
    • userName=<名称> 远程连接时用于身份验证的用户名(如果使用“基本”身份验证,则为必填项)。
    • password=<密码> 用于远程连接的用户密码(如果使用“基本”身份验证,则为必填项)。
    • storeCredentials=<目标> 用户名和密码将存储在 Windows 凭据管理器中的目标标识符下。
    • getCredentials=<目标> 目标标识在连接到远程计算机时要使用的 Windows凭据管理器中的凭据(用户名和密码)。
    • encryptPassword=<密码> 用于加密/解密任何安全数据的密码。
    • includeAcls=<布尔值> 如果为 True,则在操作中包括 ACL (适用于文件系统、注册表和元数据库)。
    • tempAgent=<布尔值> 在远程操作期间,暂时安装远程代理。
    • publishSettings=<文件路径> 包含远程连接信息的发布设置文件的文件路径。

    追加Tips

    Q:完整安装Microsoft Web Deploy 3后,在指定目录并未发现BackupScripts.ps1文件?
    A:windows 系统角色与功能未启用iis的管理工具-管理服务,开启后重新安装Web Deploy即可。

    powershell配置自动备份脚本,以管理员身份打开powershell ISE编辑器,加载以下脚本执行即可。

    #run as administrator
    cd '....Program FilesIISMicrosoft Web Deploy V3Scripts'
    . .BackupScripts.ps1
    TurnOn-Backups -On $true
    Configure-Backups -Enabled $true
    Configure-Backups -BackupPath "{SitePathParent}snapshots{siteName}"
    Configure-Backups -ContinueSyncOnBackupFailure $false
    Configure-Backups -NumberOfBackups 5
    pause
    

    参考文章

  • 相关阅读:
    创建ftp站点
    删除文件夹下所有文件
    搭建API Mock
    linux 定时备份数据库
    linux 常用Mysql脚本命令
    离线安装Redis 说明
    离线安装Mariadb
    ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发
    linq和ef关于group by取最大值的两种写法
    Autofac 泛型依赖注入
  • 原文地址:https://www.cnblogs.com/personball/p/7455999.html
Copyright © 2020-2023  润新知