控制计划的任务执行

我们是一家小商店。 我主要是一个程序员,但由于是唯一一个冒着风险去pipe理我们的服务器,所以我的任务已经落在我身上(但是我仍然是一个次要的function,所以我不能给它太多的时间)。

在过去几年中,我们需要创build一个相当数量的.bat脚本,作为我们的服务器(转储数据库服务器,SVN服务器,复制文件等)的计划任务运行。

手动检查大家进展良好是一项耗时的工作。 我可以让他们在完成时发送一封电子邮件,但是每天早上我都会收到很多邮件。 如果我将它们设置为仅在发生故障时发送电子邮件,则可能会错过错误导致任务中止(甚至不启动)的情况。

还有其他的select吗? 目前我们正在使用Windows 2003 R2,但是我们正在考虑尽快添加一些Linux服务器,所以跨平台的解决scheme是最好的。

虽然它主要用于监视服务,但是我会考虑使用Nagios来完成这个任务 – 最后只是一个调度和报告引擎 – 它运行的程序和运行的地点由您决定。

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

不pipe你select哪种方法,你都必须在这方面花费一些时间和精力。

当你是程序员时,我感到非常惊讶,你正在手动检查这种事情。 每个batch filelogging结果都很简单。 用你喜欢的任何语言创build另一个程序(Perl是理想的)来parsing这些日志并发送给你一封电子邮件。 所有你需要告诉你的是,所有的任务成功完成或列出没有。 只有在失败的情况下,你才需要进行手动检查。

由于John Gardeniers所build议的脚本/预定解决scheme看起来很不舒服,因此可以随时保存一个连接到所有远程服务器上的计划任务日志的MMC设置 。

  1. 在开始search框中input“mmc”。
  2. 点击文件 – >添加/删除pipe理单元。
  3. 在左栏中select“任务计划程序”。 点击添加。
  4. select“另一台电脑”。 input正确的IP地址或计算机名称。 您也可以浏览电脑。
  5. 点击File-> Save As保存。

至less可以通过将这些日志集中到一个显示屏上来让你的生活变得更轻松,但是我也更喜欢一个脚本,它能够parsing日志中的事件,并且在上午发送给我一封邮件。 对于这个价值,我每天早上都会收到一百个左右的自动电子邮件,花了我几分钟的时间来parsing它们。 一个规则将它们全部转储到一个文件夹中,并且我可以从标题([blah]:SUCCESS / WARNING / FAILURE)中判断是否忽略它们。