记一次 IIS 站点配置文件备份和还原,物理路径文件批量备份
前言
上一篇文章实现了数据库的批量备份和还原,当然部署在服务器中的IIS站点备份也是一个十分繁琐的事,三四个数量不多的还好,像有一些服务器用了许久,承载几十个站点甚至更多,一个一个备份,再一个一个还原也是有苦说不出。下面我用dos命令写了一个批量备份的脚本供大家参考。
开始
- 使用前准备和注意事项
- 备份IIS站点配置信息,和IIS物理文件路径文件
- 还原IIS站点信息
- 总结
一、使用前准备和注意事项
- 执行此bat文件时需要用到电脑中的压缩软件程序,需要知道安装路径,并且需要压缩dos命令也需要知道,我这里用的时7-zip。 如图本人电脑:

2.需要确认服务器中IIS 中的物理路径中的文件没有重名的(当然很少出现)
二、备份IIS站点配置信息,和IIS物理文件路径文件
使用前记得替换前面三个文件路径和最后面那个循环压缩文件的命令,直接贴代码:
@echo off
rem --存放IIS站点的配置文件信息
set backUpFile=C:\myfile\IISfile\Setting
rem --存放IIS站点物理文件压缩
set compressFile=C:\myfile\IISfile\compress
rem --电脑中的压缩文件路径
set compressionSoftwareFile=C:\"Program Files"\7-Zip\7z.exe
:SiteInfo
echo 正在备份IIS站点配置信息·····
%windir%\system32\inetsrv\AppCmd.exe LIST APPPOOL /config /XML > %backUpFile%\poolappcmdexport.xml
%windir%\system32\inetsrv\AppCmd.exe LIST SITE /config /XML > %backUpFile%\iisappcmdexport.xml
echo IIS站点配置信息备份完成·····
:GetphysicalPathInfo
echo 正在读取站点文件路径信息·····
findstr physicalPath %backUpFile%\iisappcmdexport.xml > %backUpFile%\physicalPathInfo.txt
:GetphysicalPath
@echo off&setlocal enabledelayedexpansion
set "word1=""
set "word2=""
(for /f "delims=" %%a in ('findstr "%word1%.*%word2%" "%backUpFile%\physicalPathInfo.txt"') do (
set "str=#%%a"
set "str=!str:%word1%=ж!"
set "str=!str:%word2%=ж!"
for /f "tokens=4 delims=ж" %%b in ("a!str!") do echo;%word1%%%b%word2%
))>"%backUpFile%\physicalPath.txt"
echo "physicalPath.txt生成成功,请按任意键开始备份压缩"
pause
:Compress
@echo off
echo 开始压缩
rem --获取文本中文件路径
for /f %%i in ('type %backUpFile%\physicalPath.txt' ) do (
for %%a in (%%i) do (
rem --循环压缩文件
%compressionSoftwareFile% a -r -mx3 -tzip %compressFile%\%%~ni %%i
echo %%~ni 压缩完成
)
)
echo 备份完成!
pause
执行效果图:


三、还原IIS站点信息
简单点 可以直接在cmd命令行中执行,不过也有可能会遇到问题,可能遇到站点Id冲突,或是应用程序池重复,因为你还原的时候大都不可能是在一台新的服务器上操作。先贴代码:
rem --应用程序池全部还原(poolappcmdexport.xml 上文有备份的文件,上文改了如有修改,这里记得改)
%windir%\system32\inetsrv\AppCmd.exe ADD APPPOOL /IN < poolappcmdexport.xml
rem --网站配置全部还原(iisappcmdexport.xml 上文有备份的文件,上文改了如有修改,这里记得改)
%windir%\system32\inetsrv\AppCmd.exe ADD SITE /IN < iisappcmdexport.xml
一般情况下这个需要删除,每个服务器初始化都会有这个站点。如果提示站点重复,可能还需要修改iisappcmdexport.xml文件中对应的SITE.ID,id。还原之后,把之前压缩的文件解压出来放到对应文件。


四、总结
- 学习了dos命令
- 省去了大把时间来刷博客
记一次 IIS 站点配置文件备份和还原,物理路径文件批量备份的更多相关文章
- 记一次IIS站点出错的解决过程
记一次IIS站点出错的解决过程 以前一直都是人家用着系统出问题了反馈过来这边改,没想到这回就发生在自己使用的过程中 问题经过 我正在执行一个操作,保存了没有返回提示,打开浏览器控制台查看网络,请求返回 ...
- Vue 默认IIS站点配置
// Vue 默认IIS站点配置 module.exports = { baseUrl: '/SG/', }
- IIS关于“ 配置错误 不能在此路径中使用此配置节”的解决办法
IIS关于“ 配置错误 不能在此路径中使用此配置节”的解决办法 原文链接:http://www.cnblogs.com/200325074/p/3679316.html 今天刚安装好IIS8.5, 我 ...
- IIS如何配置可以下载APK、IPA文件
解决步骤: 1).打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性: 2.单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口: 3).单击“新建”,建立新的MIME类型 ...
- C# iis 错误配置信息( CS0016: 未能写入输出文件 )
IIS发布时,编译器错误消息: CS0016: 未能写入输出文件 "c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.N ...
- 记一次MVC4站点在IIS上部署的诡异问题
最近朋友的公司遇到一个站点部署问题, 朋友从事服务器维护多年,说也是花了十多天仍为解决. 经多次尝试未果,仍报错如下: 我询问了相关情况,确认了该网站是VS2013开发的,版本为,NET Framew ...
- 在IIS站点中Adomd.net集成认证账号问题
最近在做一个Asp.net项目的时候 ,在C#代码里面用到了Adomd.net去连接SSAS服务器做MDX查询,开发完成后将Asp.net代码部署到IIS后发现Adomd.net老是连接不到SSAS服 ...
- iis 站点中文乱码 解决方案
问题描述:iis乱码问题 1:在vs里开发没问题,发布后用发布文件替换iis文件没问题,但是如果用fis3发布后导致iis站点访问时出现部分中文乱码 原理:文件编码格式不统一 解决方案: 四个步骤解决 ...
- iis的web站点配置
1.下载好pageadmin网站系统,我下载的放在F:\web\site目录下(每个电脑或每个用户放置目录都不一样,你也可以放C:\myweb,或D:\xxx等等,只要下面对应目录设置一样即可),我们 ...
随机推荐
- 数据应用的变与不变,ShardingSphere 正在影响未来数字体验的建设理念
近年来关于底层数据库的开源产品越来越多,它们也受到了许多资本的青睐. 伴随着移动互联网催生的数字化场景爆发,云计算.大数据等技术逐渐有了更加广阔的应用场景.在云计算和大数据经过十年的追赶式发展后,不只 ...
- 干货分享之Spring框架源码解析01-(xml配置解析)
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea Spring 是一个工厂,是一个负责对象的创建和维护的工厂.它给我 ...
- 项目问题记录------Mabatis动态sql语句
现在在做一个模糊查询功能,使用两个查询条件: 条件1:下拉框选择的产品名 条件2:输入框输入的用户名 需求1:下拉框的选项是从数据库里导出来的产品名,此外,添加一个选项"全部产品" ...
- 快速入门maven
1.快速介绍 maven(翻译:专家,内行)是apache(一个公司/组织)做的一个项目,或者说是软件,这个东西可以干什么? 可以用它来对咱们做的项目进行改进,增加开发效率,比如帮助你自动导入jar包 ...
- yum源安装nginx
nginx使用yum源安装 安装步骤 使用yum源安装依赖 yum install yum-utils 配置nginx.repo的yum文件 vim /etc/yum.repos.d/nginx.re ...
- better-scroll快速上手及封装(vue项目)
愿你有诗有梦,有坦荡荡的远方 本文声明:这是一篇学习coderwhy老师的vue2课程的一个笔记,所以本文章是在vue项目中实现,没学过vue的大佬们可以举一反三. 使用场景及介绍 BetterScr ...
- C++ 、Qt计算时间的方法
原文链接:https://blog.csdn.net/chy555chy/article/details/53405072 Qt计算时间的两种方法: QTime elapsed() : ms QTim ...
- 攻防世界 web3.backup
如果网站存在备份文件,常见的备份文件后缀名有:.git ..svn..swp..~..bak..bash_history..bkf尝试在URL后面,依次输入常见的文件备份扩展名. ip/index.p ...
- 攻防世界 杂项 10.2017_Dating_in_Singapore
题目描述: 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-0201 ...
- 使用 ASP.NET Core 3.1 的微服务开发指南
使用 ASP.NET Core 3.1 的微服务 – 终极详细指南 https://procodeguide.com/programming/microservices-asp-net-core/ A ...