[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=<siteName> -dest:auto,computername=<remoteComputerName>
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
<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 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
[2016-09-09]IIS站点发布、同步和备份工具MSdeploy(WebDeploy)介绍的更多相关文章
- Sysinternals套件2016年11月更新发布,诸多工具被更新
Sysinternals 实用程序可帮助您管理.解决和诊断 Windows 系统和应用程序,在 Sysinternals 的 2016 年 11 月更新中,微软增强 在 sysmon 对注册表和文件事 ...
- 自动发布-asp.net自动发布、IIS站点自动发布(集成SLB、配置管理、Jenkins)
PS:概要.背景.结语都是日常“装X”,可以跳过直接看自动发布 环境:阿里云SLB.阿里云ECS.IIS7.0.Jenkins.Spring.Net 概要 公司一个项目从无到有,不仅仅是系统从无到有的 ...
- saltstack 发布 iis 站点
Saltstack 发布 iis 站点 saltstack 主服务器配置:切换到 salt 的主目录下 : 主目录示例:/home/salt 程序集放置目录: web/web1 sls 目录: web ...
- 将asp.net core站点发布到IIS上遇到的问题
今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出 ...
- 摩根斯坦利 - 2016年09月8日 面试题 - HashMap
摩根斯坦利 - 2016年09月8日 面试题: 给定一个 Map<Person, Object> map = new HashMap<Person, Object>(); 放入 ...
- Visual studio 调试发布到IIS站点方式一
在项目开发过程中,前端项目可能调用多个API接口,并且这些API接口是在同一个资源解决方案下的,一个资源解决方案下只能设置一个启动项目.那么问题来了,某个API业务需求变更或有BUG,解决后是需要调试 ...
- Murano Weekly Meeting 2016.08.09
Meeting time: 2016.August.09 1:00~2:00 Chairperson: Kirill Zaitsev, from Mirantis Meeting summary: ...
- 使用批处理自动发布IIS站点,基于IIS7及以上
经过研究,终于使用批处理解决了站点发布步骤多的问题. 完整批处理如下: @set "sitePath=%~dp0" @echo 新建程序池 @C:\Windows\System32 ...
- webAPI---发布(IIS)--发布遇到问题(500.19,500.21,404.8,404.3)
WebAPI的内容部分直接转自官方文档,英语水平有限,不做翻译, 发布网站在本文的后半部分 HTTP is not just for serving up web pages. It is also ...
随机推荐
- java_AWT常用组件
Button:按钮,可接受单击操作. Canvas:用于绘图的画布. Checkbox:复选框组件(也可以变成单选框组件). CheckboxGroup:用于将多个Checkbox组件合成一组,一组C ...
- curl---一款实用的URL命令行网络通讯工具/库
最近一段时间在看朴灵翻译的<深入浅出nodejs>,里面有提到一种脱离浏览器的客户端网络通讯工具,curl命令,自己在电脑上试了一下,感觉非常好用,而且莫名的感觉这是一个非常强大的网络工具 ...
- Webpack 打包之体积优化
谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...
- 自定义MySQL函数
1.MySQL创建函数语法: CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) ...
- angular学习(三)-- $scope
1.3 视图数据模型:$scope $scope 是用来视图和数据之间的胶水.粘合剂 视图和控制器之间的数据桥梁 用于在视图和控制器之间传递数据 用来暴露数据模型(数据.行为) 监视模型数据的变化,做 ...
- android学习笔记之GridView的使用
除了listview会使用适配器外,还有一种就是GridView,listview是单列多行的显示形式,适用于多项目的查看.而GridView是多行多列的显示形式,一般用在查看图片样式的activit ...
- Ext.NET加入自定义验证JS函数
ExtJS验证很方便,在使用FormPanel的时候,我们可以很方便的进行验证.比如设置必填项.正则.字段类型等等.比如如下所示: 上面的验证是这么写的: 1 2 3 <Listeners> ...
- Silverlight——施工计划日报表(一)
前一段时间,客户需要一个施工计划报表,要求能够直观的看到各个计划的实施时间,而且能够修改.琢磨着,决定用Silverlight搞定好了.效果如下: 用户可以通过右键菜单的[完成]选项来标记完成,左键选 ...
- offsetof的意义
offsetof是求类的成员变量的偏移量,如果成员变量是类定义的第一个变量,那他的偏移量应该是0.但是引入继承之后,就要额外考虑了.下面的代码说明了这个问题: #define AFX_NOVTABLE ...
- Orleans—一些概念
Orleans-一些概念 这是Orleans系列文章中的一篇.首篇文章在此 这个文章聊一聊Orleans的概念.以下文章大部分翻译自官方教程,还有一些结合实际的应用经验,并对以前文章留下的坑进行填平. ...