我们要确保下面的脚本将捕获在新机器 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 的实际配置。我将在下面列出我们需要备份的内容以及我们是如何备份的,因为这个问题只是整个解决方案的一部分:
- IIS 应用程序内容(备份,我们想知道如何捕获某些目录的安全设置?)
- IIS 配置
- MSSQL 数据库和安全设置以连接到每个数据库
答案1
您仅进行系统状态备份。其中将包含注册表(包括 COM+ 注册)、Active Directory 和 SYSVOL(尽管我怀疑它是否安装在您的 Web 服务器上)、证书服务数据库(可能也没有安装在您的 Web 服务器上)和 IIS 元数据库。
当您谈到恢复“安全设置”时,我无法具体说明您的意思。例如,您将无法恢复未备份的文件(即网站内容 - 或者实际上系统状态之外的任何内容)上的 NTFS ACL。对于您的应用程序,您将能够恢复 IIS 元数据库和注册表。如果其中包含您描述的所有内容,则一切正常。
您确实不需要 VBScript 来调用该命令。您可以直接从计划任务中调用该命令,因为您没有使用 VBScript 在备份命令行等中进行任何类型的变量替换。
顺便说一句,您关于备份目标目录和 NTBackup 命令行的评论不同。
答案2
我会将 Systemstate 文件备份/复制到外部设备(例如另一台服务器上的网络共享)。如果 C: 分区出现问题,该文件将保存在安全的地方。
提示:请花点时间尝试将所有数据和配置恢复到新(或暂存)服务器。根据我的经验,有些特定的事情只有在您尝试恢复真实备份并测试所有服务时才会出现。
答案3
我会备份服务器上的所有内容。如果服务器上的数据或设置发生变化,则每周备份一次,每日备份一次。这样更简洁、更简单,而且您可以绝对确定自己没有遗漏任何内容。
答案4
备份将特定于服务器名称和机器。因此,如果您从一台主机移动至另一台主机..
复制元数据库信息,
IIS 6.0 将早期 IIS 版本中的单个二进制文件 (MetaBase.bin) 替换为两个 XML 文件:MetaBase.xml 和 MBSchema.xml。IIS 将这些文件存储在计算机的 systemroot\System32\Inetsrv 文件夹中。要查看和修改这些文件,您必须是管理员组的成员。
元数据库由以下元素组成:
• MetaBase.xml 文件。此文件存储特定于 IIS 安装的 IIS 配置信息。
• MBSchema.xml 文件。此文件包含配置数据库架构。MBSchema.xml 文件是一个主配置文件,它定义所有配置数据库属性的默认属性,并强制执行在配置数据库中构建和放置配置数据库条目的规则。
• 内存中的配置数据库。内存中的配置数据库包含最新的配置数据库和配置数据库架构配置。内存中的配置数据库接受对配置数据库配置和架构的更改,将其存储在 RAM 中,并定期将更改写入磁盘上的配置数据库和配置数据库架构文件。
当 IIS 启动时,MetaBase.xml 和 MBSchema.xml 文件由 IIS 存储层读取并复制到内存配置数据库。在 IIS 运行时,您对内存配置数据库所做的任何更改都会定期写入磁盘。当您停止 IIS 时,IIS 还会将内存配置数据库保存到磁盘。
为了编写脚本的文件安全,请记住使用本地组并添加全局组进行授权。