当我们IIS服务器上配置的站点较多或者虚拟目录等较多的时候(比如:虚拟主机、文件下载服务器等场景),一旦涉及到服务器变迁或者重装系统时,重新配置IIS站点就是件非常麻烦且复杂的事情,这个时候IIS备份与还原功能的重要性就凸显了。本文主要介绍在Windows Server 2003的IIS6与Windows Server 2008的II7中如何对IIS的配置进行备份与还原方法。
1、IIS7备份与还原方法
IIS7的备份与还原与IIS6不同,需要通过命令方式来操作:
1)IIS7备份操作
打开CMD命令窗口,输入 cd c:\windows\system32\inetsrv (这一步非常重要,不要忽略)
输入 appcmd add backup “备份名称”(如:20131005) 则可成功创建备份
创建的备份文件(文件夹schema和文件administration.config、applicationHost.config、redirection.config等)将保存在C:\Windows\System32\inetsrv\backup下,我们要及时将这些文件拷贝出去,备份好。
同时,可以输入 appcmd list backup 命令显示所有备份列表
2)IIS7还原操作
把我们备份的文件拷贝至C:\Windows\System32\inetsrv\backup下
打开CMD命令窗口,输入 cd c:\windows\system32\inetsrv (这一步非常重要,不要忽略)
输入 appcmd restore backup “备份名称”(如:20131005)则可实现IIS7配置还原操作。
2、IIS6备份与还原方法
IIS6的备份与还原与IIS7不同,可以直接在IIS管理器中操作完成;本文介绍2种IIS6备份与还原的方法:
方法一
1)备份 IIS6 配置数据库
在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“备份/还原配置”
单击“创建备份”,在“配置备份名称”框中输入备份文件的名称(注意:备份文件名是不区分大小写的)
*可选:如果要创建安全备份,请选中“使用密码加密备份”复选框,在“密码”框中键入密码,然后在“确认密码”框中键入相同的密码。
单击“确定”。
在创建备份时,会创建两个文件在 systemroot\System32\Inetsrv\MetaBack 文件夹中:
name.mdx
name.scx
* name 是管理员用来命名备份集的名称,x 是备份集的版本号,第一次备份x就是0。
我们要及时将这些文件拷贝出去,备份好。
2)还原 IIS6 配置数据库
把我们备份的文件拷贝至 C:\System32\Inetsrv\MetaBack 文件夹中
在 IIS 管理器中,右键单击本地计算机,指向“所有任务”,然后单击“备份/还原配置”
选择备份名后,单击“还原”
方法二
1)保存/导出/备份WEB配置
选择一个保存路径
2)恢复配置
先打开备份的weback20090901.xml文件,查看到XML中“默认站点”的路径,待会儿命令行要用到
假如默认网站已经丢失了EX开头的三个虚拟目录,iisadmpsw的物理路径也被修改了
关闭IIS管理器,输入iiscnfg命令(如果有提示注册cscript.exe为默认脚本解析器,回答“是”),网站配置就恢复了,然后手动启动一下默认网站即可,搞定!
命令:iiscnfg /import /f c:\iisback\weback20090901.xml /sp /LM/W3SVC/1 /dp /LM/W3SVC/1 /children
解释:
/import /f 导入配置文件,后跟保存的.xml配置文件
/sp 指定.xml中要导入的源路径,必选项
/dp 指定要导入到网站的目标路径,必选项, /LM/W3SVC/1是指当前在IIS管理器中看到的第1个WEB站点
/children 将.xml中的配置的子虚拟目录配置一并导入
3)归并模式
有时只允许将保存的.xml文件中的配置项替换现有配置,但当前一些新增的虚拟目录(即.xml没有的配置)不允许被替换掉,可以使用归并模式,即保留了备份后新增的虚拟目录,又替换了相同的虚拟目录设置,推荐使用这种模式。只要在上述命令后再加一个/merge参数即可。
示例:新增的aaa虚拟目录要保留,要恢复EX开头的文件,且恢复iisadmpsw的本地路径设置
运行命令 iiscnfg /import /f c:\iisback\weback20090901.xml /sp /LM/W3SVC/1 /dp /LM/W3SVC/1 /children /merge
OK
d backup “备份名称”(如:20131005) 则可成功创建备份
创建的备份文件(文件夹schema和文件administration.config、applicationHost.config、redirection.config等)将保存在C:WindowsSystem32inets