惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - robinli

SEO:谷歌浏览器提示:您要访问的网站包含恶意软件(解决方案) 关闭防病毒antimalware Service Executa SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 已解决:无法连接到WMI提供程序。你没有权限或者该服务器无访问··· window系统下升级node和npm SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案 更新依赖mvn dependency:resolve 服务器出现大批量登录审核失败/NtLmSsp攻击 sqlserver2008数据库登陆名备份迁移方法 如何将多个大型站点从 IIS 7 迁移到 IIS 8.5? SQL Server2019数据库备份与还原脚本,数据库可批量备份 FCKeditor编辑器IE11不显示的解决方法 vscode Vue格式化HTML标签换行问题 WIN10的IE错误代码inet_e_resource_not_found解决办法 远程桌面,身份验证错误:要求的函数不正确等解决办法 IIS 请求 超时设置 Redis设置密码重启后失效的解决方案 连接redis错误:ERR Client sent AUTH, but no password is set 关于阿里云专有网络搭建FTP服务器的深坑 电脑异常断电,IDEA崩溃 Winform 出现“Win已停止工作”解决方法 C# WinForm控件、自定义控件整理(大全) 出现“基础链接已关闭,无法链接到远程服务器"错误的解决办法
记一次 IIS 站点配置文件备份和还原,物理路径文件批量备份
robinli · 2021-11-20 · via 博客园 - robinli

2021-11-20 09:15  robinli  阅读(343)  评论()    收藏  举报

前言

上一篇文章实现了数据库的批量备份和还原,当然部署在服务器中的IIS站点备份也是一个十分繁琐的事,三四个数量不多的还好,像有一些服务器用了许久,承载几十个站点甚至更多,一个一个备份,再一个一个还原也是有苦说不出。下面我用dos命令写了一个批量备份的脚本供大家参考。

开始

    1. 使用前准备和注意事项
    2. 备份IIS站点配置信息,和IIS物理文件路径文件
    3. 还原IIS站点信息
    4. 总结

一、使用前准备和注意事项

  1. 执行此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=

 执行效果图:

三、还原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。还原之后,把之前压缩的文件解压出来放到对应文件。

 

四、总结

    1. 学习了dos命令 
    2. 省去了大把时间来刷博客

文章来源:https://www.cnblogs.com/jierou/p/15579911.html(如有侵权,请联系本人删除)