Zeta Backup Validator
一个小型控制台应用程序,通过各种可配置规则检查文件和文件夹,帮助您验证备份是否成功。

引言
Zeta 备份验证器 (ZBV) 是一个小型 .NET 3.5 控制台应用程序,它通过各种可配置的规则(文件夹大小、文件年龄等)来检查文件和文件夹,帮助您验证备份是否成功。
概述
我们开发 ZBV 是为了能够以更可靠、更自动化的方式验证来自各种源的备份是否成功创建。
我们每天从我们的 Web 服务器、本地 PC、局域网服务器、数据库等获取备份,应有尽有。通常,我们会在早上花几分钟/几小时查看文件夹和文件,然后决定备份是否成功运行。
为了节省时间,我们开发了 ZBV,它让我们不必查看文件。ZBV 的作用是查看文件夹和文件,并根据几个可配置的规则进行检查。如果规则失败,管理员将收到一封错误电子邮件,如果所有规则都成功,管理员将收到一封成功通知电子邮件。
特点
ZBV 允许根据预定义的规则自动检查文件夹和文件。当规则成功或失败时,会生成一封电子邮件。您可以自行配置电子邮件的主题和内容。
规则定义在一个易于理解的配置文件中。目前有以下规则可用
- 检查文件夹中文件的最大年龄
- 检查单个文件的最大年龄
- 检查文件夹中所有文件的最小大小
- 检查单个文件的最小大小
工具的当前状态
尽管我们每天都在使用 ZBV,但仍有改进的空间
- 添加更多规则
- 添加内容检查规则,例如读取文件内容并解析内容
- 发送到电子邮件以外的其他目标进行通知
- 您的建议
用法
创建计划任务
通常,您会在 Windows 任务计划程序 中配置一个或多个计划任务,这些任务会触发对 ZBV 的一个或多个调用。
例如,您可以配置一个计划任务,每天运行以检查您的备份文件。请确保在执行完备份之后执行计划任务。
调用语法
要实际调用 ZBV,请调用“zbv.exe”应用程序。
要处理的规则配置文件可以通过以下两种方式之一传递给“zbv.exe”:“appSettings
”部分中的应用程序配置文件“zbc.exe.config”中的“configurationFilePath
”键,或者将配置文件作为命令行中的第一个命令行参数传递。在这两种模式下,您都可以使用路径占位符。
因此,一个有效的命令行看起来像
"c:\program files\zbv\zbv.exe" "$(SpecialFolder.ExecutingAssembly)\my-server.xml"
示例中的占位符“$(SpecialFolder.ExecutingAssembly)
”将被展开为可执行文件的文件夹路径,即“c:\program files\zbv\zbv.exe”。
配置
本章解释了在使用 ZBV 成功之前需要配置的各项元素。尽管本章概述了几个重要的配置项,但并未深入探讨所有细节。
学习的最佳方法是先阅读手册,然后查看示例文件。
应用程序配置文件“zbv.exe.config”
应用程序配置文件只存在一份。使用任何(XML)文本编辑器(例如记事本或其他文本编辑器,如“Notepad++” - 但不要使用写字板或 Microsoft Office Word,因为内容将无法使用)打开它。
请查看附带的应用程序配置文件了解详细信息。
“appSettings”部分
在“appSettings
”部分指定发件人和收件人、电子邮件主题以及要使用的模板。
有关如何使用的完整语法,请参阅“appSettings”文档。
“log4net”部分
指定如何以及是否记录低级别事件。默认设置是将日志记录到文本文件(请更改路径以适应您的要求)和控制台窗口。
有关如何配置日志记录的完整文档,请参阅 log4net 网站。
“mailSettings”部分
为了成功发送电子邮件,ZBV 需要知道要使用的 SMTP 服务器。在“mailSettings
”部分指定所有与 SMTP 相关的设置,包括身份验证设置。
有关如何使用的完整语法,请参阅“mailSettings”文档。
规则 XML 文件
您可以创建任意数量的 XML 配置文件。ZBV 的下载附带了一个示例配置文件“zbv-config.xml”,您可以使用任何(XML)文本编辑器(例如记事本或其他文本编辑器,如“Notepad++” - 但不要使用写字板或 Microsoft Office Word,因为内容将无法使用)打开它。
通常,您为要检查的每个服务器定义一个配置文件。
配置文件的一个摘录如下所示
<ValidationDirectory Name="Exchange Server" Path="\\my-server\Backup\Exchange">
<ValidationMethods>
<ValidationMethod Type="MaxAge" Domain="SingleFile"
DomainName="ExchangeBackup.bkf" Value="24"
SignificanceLevel="ErrorLevel" />
<ValidationMethod Type="MinSize" Domain="SingleFile"
DomainName="ExchangeBackup.bkf" Value="10000000000"
SignificanceLevel="WarningLevel" />
</ValidationMethods>
</ValidationDirectory>
您可以在每个配置文件中输入多个“ValidationDirectory
”节点。每个节点包含一个或多个要执行的验证方法(即“规则”)。
存在以下属性
类型
MaxAge
- 检查文件夹中最旧文件的年龄或直接指定文件的年龄。MinSize
- 检查文件或文件夹的大小。
定义域
Directory
- 如果类型为“MaxAge
”,则检查指定的文件夹及其所有子文件夹中最旧的文件。如果类型为“MinSize
”,则检查文件夹的大小(即所有包含文件的大小总和)。NewestFile
- 指定文件夹及其所有子文件夹中最新的文件。OldestFile
- 如果类型为“MaxAge
”,则此选项检查指定文件夹中最旧的文件。如果类型为“MinSize
”,则检查文件夹中最旧文件的大小。SingleFile
- 单个文件。文件名在“DomainName
”属性中输入。FileGroup
- 像“*.txt”这样的文件组的通配符。通配符本身在“DomainName
”属性中输入。
值
MaxAge
- 指定文件或文件夹中最旧文件的最大允许年龄的小时数。MinSize
- 最小文件大小(以字节为单位)。
SignificanceLevel
在此处指定如何处理规则失败。
WarningLevel
- 将失败报告为警告。ErrorLevel
- 将失败报告为错误。
电子邮件模板文件
对于一个规则 XML 文件中的所有规则,将生成并发送一封电子邮件。通过使用电子邮件模板文件,您可以配置生成的电子邮件的布局和格式。
必须在应用程序配置文件中指定模板,以指向正确的文件(参见上文)。
存在以下模板文件
- “template-summary.html” - 生成电子邮件的主要外壳。
- “template-fragment-error.html” - 用于通知发生错误规则的 HTML 片段。
- “template-fragment-warning.html” - 用于通知发生警告规则的 HTML 片段。
每个 HTML 文件包含各种占位符,在实际发送通知电子邮件时会进行展开。您可以使用任何(HTML)文本编辑器(例如记事本、Microsoft Expression Web 或 Adobe Dreamweaver)编辑 HTML 文件。
对于在规则检查过程中发生的每个错误或警告,都会使用一个模板片段。在发送之前,该片段会被插入到主电子邮件外壳 HTML 中一次或多次。
故障排除
如果在安装或配置过程中出现错误,请检查以下项目
- 检查 Windows 事件日志以获取详细的错误消息。
- 检查 ZBV 可执行文件写入的日志文件。
- 查看 ZBV 的控制台窗口输出。
- 在页面下方的评论部分提问,寻求进一步的帮助。
结语
在本文中,我介绍了一个小型应用程序,通过帮助您根据特定规则检查备份来提高备份质量。
投票时,请注意我将文章放在了“实用工具”部分,所以我认为在文章本身中不解释源代码是可以的。谢谢。
历史
- 2009-11-16 在 CodeProject.com 上首次发布