记一次 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等等,只要下面对应目录设置一样即可),我们 ...
随机推荐
- 自然语言处理标注工具——Brat(安装、测试、使用)
一.Brat标注工具安装 1.安装条件: (1)运行于Linux系统(window系统下虚拟机内linux系统安装也可以) (2)目前brat最新版本(v1.3p1)仅支持python2版本运行使用( ...
- 在Vue中使用JSX,很easy的
摘要:JSX 是一种 Javascript 的语法扩展,JSX = Javascript + XML,即在 Javascript 里面写 XML,因为 JSX 的这个特性,所以他即具备了 Javasc ...
- 活动回顾|ShardingSphere X openGauss,将会产生怎样的化学反应?
"ShardingSphere 作为 openGauss 生态的开源分布式数据库解决方案,将持续助力于 openGauss,满足千行百业广大客户分布式场景需求." 5月29日,由 ...
- I/O系统
I/O系统的组成 外部设备 接口部件 总线 相应的管理软件 I/O软件 将用户编制的程序(或数据)输入主机内 将运算结果输出给用户 实现输入输出系统与主机工作的协调 I/O系统的基本功能 完成计算机内 ...
- Java(8)详解Random使用
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201556.html 博客主页:https://www.cnblogs.com/testero ...
- NX CAM 读取加工参数
'取加工几何试图程序组 Function GetGemoGroup_Name(ByVal camObjectTag As NXOpen.Tag) As String Dim theGemoGroupT ...
- Asp.net Core使用EFCore+Linq进行操作
注:EFCore和EF有区别,在core中写的也有一点区别,每个人写法不同仅供参考写的比较细致耐性一点看完会有收获的 首先加上必要的引用 using Microsoft.EntityFramework ...
- AlertManager集群搭建
AlertManager集群搭建 一.AlertManager集群搭建 1.背景 2.机器 3.集群可用配置 4.alertmanager启动脚本 1.127.0.0.1:9083 机器启动脚本 2. ...
- Noip模拟20 2021.7.19
T1 玩具 题目读错意思直接报零... 拼接方式没读懂以为是个数学题,用卡特兰数,可是的确想多了 数据范围表达出你怎么暴力都行,选择$n^3,dp$ 相当于一片森林,每次多加一条边就合并成一棵树 在$ ...
- 从四个方向分析我们可以从linux学到什么
我们真正关心的是自身可以从这个生态圈中获得些什么?说得更直白一点就是,我们可以从linux系统上面学到点什么,它对我们个人的成长和发展有哪些积极的因素.个人觉得,完全可以通过下面四个维度并结合自己的兴 ...