控制计划任务的执行

控制计划任务的执行

我们是一家小店。我主要是一名程序员,但由于我是唯一一个冒着风险管理我们服务器的人,所以这个任务就落在了我的身上(但这仍然是一个次要职能,所以我不能花太多时间)。

多年来,我们需要创建大量 .bat 脚本,作为我们服务器中的计划任务运行(转储数据库服务器、SVN 服务器、复制文件等)。

手动检查每个人是否都顺利完成是一项耗时的任务。我可以让他们在完成时发送电子邮件,但这样我每天早上就会收到大量电子邮件。如果我将他们设置为仅在失败时发送电子邮件,我可能会错过错误导致任务中止(甚至无法启动)的情况。

还有其他选择吗?我们目前正在使用 Windows 2003 R2,但我们正考虑很快添加一些 Linux 服务器,因此跨平台解决方案是最好的。

答案1

虽然它主要用于监控服务,但我还是考虑使用 Nagios 来实现这一点 - 最终它只是一个调度和报告引擎 - 它运行什么程序以及在哪里运行取决于您。

除了作为调度引擎运行之外,您还可以将作业配置为被动的 - 然后根据结果将状态注入 Nagios - 如果您具有复杂的依赖关系(例如,仅在 AV 扫描完成后运行备份),这可能是更明智的方法。使用这种方法,您可以使用现有电子邮件作为服务状态的触发器。

无论您选择哪种方法,您都必须花费一些时间和精力。

答案2

作为一名程序员,我很惊讶你竟然会手动检查这种事情。让每个批处理文件记录其结果非常简单。用你喜欢的任何语言(Perl 是理想的选择)创建另一个程序来解析这些日志并向你发送电子邮件。你只需要它告诉你所有任务都已成功完成或列出未完成的任务。只有在失败时你才需要执行手动检查。

答案3

由于你似乎对 John Gardeniers 建议的脚本/计划解决方案感到不舒服,因此你始终可以保存一个连接到所有远程服务器上的计划任务日志的 MMC 设置

  1. 在开始搜索框中输入“mmc”。
  2. 单击文件->添加/删除管理单元。
  3. 在左侧栏中选择“任务计划程序”。单击添加。
  4. 选择“另一台计算机”。输入正确的 IP 地址或计算机名称。您也可以浏览计算机。
  5. 单击文件->另存为进行保存。

至少通过将这些日志集中到一个显示中可以让你的生活更轻松,不过,我也更喜欢一个脚本,它可以解析我关心的事件的日志并在早上给我发送电子邮件。不管怎样,我每天早上都会收到大约一百封自动发送的电子邮件,我需要几分钟来解析它们。规则将它们全部转储到一个文件夹中,我可以从标题([blah]:成功/警告/失败)判断是否忽略它们。

相关内容