[2016-09-09]IIS站点发布、同步和备份工具MSdeploy(WebDeploy)介绍
前提准备:完整安装Microsoft Web Deploy 3
下载页面:WebDeploy_amd64_zh-CN.msi
msdeploy 同步站点
命令所在目录C:\Program Files\IIS\Microsoft Web Deploy V3>
msdeploy.exe -verb:sync -source:iisapp=
msdeploy 启用backup
- 以管理员身份打开powershell,进入路径%programfiles%\IIS\Microsoft Web Deploy V3\scripts\
- 加载BackupScripts.ps1(加载ps脚本,使用
. .\BackupScripts.ps1) - 根据需要执行以下命令
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
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=
msdeploy rollback
查看所有的备份
msdeploy.exe -verb:dump -source:backupManager=
#用最近的一份备份还原
msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=
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 Files\IIS\Microsoft Web Deploy V3\Scripts'
. .\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

浙公网安备 33010602011771号