前提准备:完整安装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

  1. 以管理员身份打开powershell,进入路径%programfiles%\IIS\Microsoft Web Deploy V3\scripts\

  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 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 100
pause

查询备份

msdeploy.exe -verb:dump -source:backupManager=9006PM

还原

msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=9006PM/msdeploy_2018_06_04_09_06_05.zip

用VS发布时, 注意是否已启用备份.

这里只能手动修改发布配置的XML文件. 没有操作界面

参考文章 

官方文档: https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups

其他问题解决:

1. CMD如果出现中文乱码: 不要选择点阵字体

引用: https://www.cnblogs.com/personball/p/7455999.html

webdeploy启用备份 msdeploy 启用backup的更多相关文章

  1. Win10系统如何关闭"启用病毒防护""启用Windows防火墙"提示?

    Win10系统如何关闭"启用病毒防护""启用Windows防火墙"提示?   目前已经有不少有用户升级到了win10正式版系统,不过有一些原win7/win8. ...

  2. Microsoft云备份解决方案Azure Backup的常见配置问题

    这篇博客文章有助于解决 Microsoft云备份解决方案(即 Azure Backup)的常见配置问题.客户通常会在安装或注册 Azure Backup时遇到这些问题.以下是有关如何诊断和解决问题的建 ...

  3. DBA_实践指南系列4_Oracle Erp R12系统备份和恢复Backup(案例)

    2013-12-04 Created By BaoXinjian

  4. window10启用administrator 和启用组策略编辑器

    1,启用administrator账户 net user administrator /active:yes 2,启用组策略编辑器    新建一个文本文件.把下面代码粘贴进去.修改后缀名为.cmd  ...

  5. Apache启用性能优化——启用Gzip,JS压缩

    #Add deflate module for enable GZIP function LoadModule deflate_module     modules/mod_deflate.so #A ...

  6. db2笔记

    第七章:数据库备份与恢复 (恢复的概念,db2日志,数据库和表空间的备份,数据库和表空间的恢复,数据库和表空间的前滚,recover使用程序,数据库重建,监控备份恢复和复原,优化备份恢复和复原)1) ...

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

    前提准备:完整安装Microsoft Web Deploy 3 下载页面:WebDeploy_amd64_zh-CN.msi msdeploy 同步站点 命令所在目录C:\Program Files\ ...

  8. 官方文档 恢复备份指南八 RMAN Backup Concepts

    本章内容 Consistent and Inconsistent RMAN Backups Online Backups and Backup Mode Backup Sets Image Copie ...

  9. 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式

    在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是“增强会话模式”,它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设备的加载,最为方便的 ...

随机推荐

  1. nodejs系列笔记01---Buffer

    纯JavaScript无法处理二进制数据,buffer就是用来处理二进制数据的 原始数据保存在buffer实例中,一个buffer实例类似于数组.buffer的大小在建立时指定的不可更改. buffe ...

  2. shiro添加注解@RequiresPermissions无效

    在学习和使用shiro中,需要整合shiro框架,然后可以在spring中中使用有三种方法,我用的是注解开发这种方式,但是,我加入注解后发现,没什么作用,然后想着肯定是没有注解成功,然后查找资料,发现 ...

  3. PAT004 Root of AVL Tree

    题目: An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child ...

  4. C语言 函数指针三(反向调用)

    动态库代码 //简单的动态库开发----报文发送 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib. ...

  5. page coloring小结

    页着色是一种通过选择性物理页分配来实现把虚存映射到特定cache位置的软件方法. 最早引入页着色概念是在计算机体系结构,是为了解决地址别名问题引入的. 首先对cache是使用虚拟地址还是物理地址的问题 ...

  6. 【转载】如何升级linux上的gcc到最新版本

    来自:http://www.cppfans.org/1719.html 由于工作主要平台换到了linux上,而linux因为源上没有比较新的gcc,只有4.7,而我们用到了C++11, 只好自己升级了 ...

  7. 标签球-Js插件

    今天上学校的图书馆,看到了一个好玩的东西,特意百度了下,发现叫做“标签球”,效果图为: 直接代码如下: #div1 {position:relative; width:350px; height:35 ...

  8. cygwin下编译zlib源代码

    本文介绍在cygwin下编译zlib源代码的方法步骤,这个过程尽管简单,但还是有一些须要注意的地方. zlib源代码下载地址: http://www.zlib.net/ 下载后.解压就会生成zlib- ...

  9. PDO防止sql注入的机制

    使用PDO訪问MySQL数据库时,真正的real prepared statements 默认情况下是不使用的. 为了解决问题,你必须禁用 prepared statements的仿真效果. 以下是使 ...

  10. 第七篇:两个经典的文件IO程序示例

    前言 本文分析两个经典的C++文件IO程序,提炼出其中文件IO的基本套路,留待日后查阅. 程序功能 程序一打印用户指定的所有文本文件,程序二向用户指定的所有文本文件中写入数据. 程序一代码及其注释 # ...