我们要确保下面的脚本将捕获所有需要的configuration设置,以在新的机器IIS和所有安全设置上进行恢复。
'This script will dump a daily system state backup to the directory ' c:\sysstatebkup\ on every Intensive Server Dim shell, network, fso Set shell = CreateObject("WScript.Shell") Set network = CreateObject("WScript.Network") Set fso = CreateObject("Scripting.FileSystemObject") Dim strBackup strBackup = "ntbackup backup systemstate /j ""Daily System State Backup"" /f ""C:\SysBkUp\SystemState.bkf"" /v:yes /l:f" shell.Run strBackup
注1:感谢Evan的评论,由于他的回答我会提供更多的信息。 我们正在努力完成的是:我们希望有一个非常好的,容易恢复IIS的备份和在那里运行的所有应用程序。 我们有应用程序的内容,但IIS的实际configuration丢失。 我将在下面列出我们需要备份的内容以及我们如何完成它,因为这个问题只是整个解决scheme的一部分:
您只能进行系统状态备份。 这将包含registry(包括COM +注册),Active Directory和SYSVOL(虽然我怀疑它是安装在您的Web服务器上),证书服务数据库(这可能也没有安装在您的Web服务器上)和IIS元数据库。
我不能说你的意思,特别是当你谈到恢复“安全设置”。 例如,对于没有备份的文件(即网站内容 – 或者实际上系统状态以外的任何文件),您将无法还原NTFS ACL。 对于您的应用程序,您将能够找回IIS元数据库和registry。 如果这包含您所描述的所有“安全设置”,那么您的状态良好。
你真的不需要一个VBScript来调用该命令。 您可以直接从计划任务中调用它,因为您不使用VBScript来执行备份命令行中的任何types的variablesreplace等。
顺便说一下,您对备份目标目录和NTBackup命令行的评论有所不同。
我会备份/复制Systemstate文件到外部设备(例如在另一台服务器上的networking共享)。 如果C:分区出现问题,文件将处于安全的地方。
小费:尽量将所有数据和configuration恢复到新的(或分期)服务器。 根据我的经验,除非您尝试恢复真实的备份并testing所有服务,否则您总是会看到特定的事情。
我只是在服务器上备份所有的东西。 如果您有数据或设置更改,则每周完整和每日差异。 它更干净,更容易,你可以绝对肯定你没有错过任何东西。
备份将是服务器名称和机器spefic ..所以,如果你从一个主机移动到另一个..
复制元数据库信息,
IIS 6.0用两个XML文件replace早期IIS版本的单个二进制文件(MetaBase.bin):MetaBase.xml和MBSchema.xml。 IIS将这些文件存储在您的计算机的systemroot \ System32 \ Inetsrv文件夹中。 要查看和修改这些文件,您必须是pipe理员组的成员。
元数据库由以下元素组成:
•MetaBase.xml文件。 此文件存储特定于IIS安装的IISconfiguration信息。
?MBSchema.xml文件。 该文件包含configuration数据库架构。 MBSchema.xmlfile是一个主configuration文件,它定义所有configuration数据库属性的默认属性,并强制执行用于在configuration数据库中构build和放置configuration数据库条目的规则。
•内存中的configuration数据库。 内存中的configuration数据库包含最新的configuration数据库和configuration数据库模式configuration。 内存中的configuration数据库接受元数据库configuration和模式的更改,将它们存储在RAM中,并定期将更改写入磁盘上的configuration数据库和configuration数据库模式文件。
当IIS启动时,MetaBase.xml和MBSchema.xml文件被IIS存储层读取并复制到内存中的configuration数据库。 在IIS运行时,您对内存中的configuration数据库所做的任何更改都会定期写入磁盘。 当您停止IIS时,IIS还将内存中的configuration数据库保存到磁盘。
对于文件安全性,您可以编写脚本,记住要使用本地组并添加全局组以进行授权。