65.9K
CodeProject 正在变化。 阅读更多。
Home

Zeta Backup Validator

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.69/5 (5投票s)

2009年11月16日

CPOL

7分钟阅读

viewsIcon

23959

downloadIcon

620

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

diamond.png

引言

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 上首次发布
© . All rights reserved.