[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 ...
随机推荐
- 打造 高性能,轻量级的 webform框架---js直接调后台(第二天)
问题2: 每次与后台打交道 都需要写一些自己都看不太懂的事件,而且传参数很麻烦,这就是.net 封装的事件,如何解决呢? 首先以为webfrom事件,都需要写 服务器控件来绑定后台的事件 ...
- 移动端https抓包那些事--初级篇
对于刚刚进入移动安全领域的安全研究人员或者安全爱好者,在对手机APP进行渗透测试的时候会发现一个很大的问题,就是无法抓取https的流量数据包,导致渗透测试无法继续进行下去. 这次给大家介绍一些手机端 ...
- mysql的并发处理机制_上篇
回来写博客,少年前端时间被django迷了心魄 如果转载,请注明博文来源: www.cnblogs.com/xinysu/ ,版权归 博客园 苏家小萝卜 所 ...
- 完整版百度地图点击列表定位到对应位置并有交互动画效果demo
1.前言 将地图嵌入到项目中的需求很多,好吧,我一般都是用的百度地图.那么今天就主要写一个完整的demo.展示一个列表,点击列表的任一内容,在地图上定位到该位置,并有动画效果.来来来,直接上demo ...
- 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 ...
- JUnit4总结
JUnit4使用要求: 测试方法必须使用@Test进行修饰 测试方法必须使用public void 进行修饰,不能带任何的参数 新建一个源代码目录来存放我们的测试代码 测试类的包应该和被测试类保持一致 ...
- 那些年,用C#调用过的外部Dll
经常有人找到我咨询以前在csdn资源里分享的dll调用.算算也写过N多接口程序.翻一翻试试写篇随笔. 明华IC读写器DLL 爱迪尔门锁接口DLL 通用OPOS指令打印之北洋pos打印机dll 明泰非接 ...
- Tornado 判断用户登录状态和操作权限(装饰器)
判断是否登录: def authenticated(method): '''''' @functools.wraps(method) def wrapper(self, *args, **kwargs ...
- 剑指offer--二叉树的后序遍历
思路:对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中,从最开始到第一个大于根节点的数都是左子树中的数,而后面到倒数第二个数应该都是大于根节点的,是右子树,如果后面的数中有小于 ...
- EXT中导出表格中的数据到Excel
{ itemId: 'excel', text: '导出', iconCls: 'btnExportExcel', disabled: false, handler: function () { // ...