类似Cron的Windows系统?

我正在寻找相当于Windows的Cron系统。 这个想法是能够安排一个触发器,并监视它是否已经成功运行。

系统需要做的是以下几点:

  • 它应该能够触发Win32 COM对象和/或可执行文件。
  • 它应该能够触发.NET COM对象和/或.NET可执行文件。
  • 它应该能够触发以任何语言编写的脚本,既可以基于本地框架(Python,Perl,Ruby),也可以基于DLR(IronPython,Ruby.NET等)
  • 脚本应该在简单的脚本之间,需要几秒钟,相当重的,可能需要半小时。

监测方面至关重要。 所以基本上我正在寻找以下内容:

  • 如果脚本或可执行文件失败,则应发送电子邮件或其他通知机制。
  • 每个触发器都应该被logging下来,以便我们可以回头看看代码何时失败。
  • 应通过某种debugging输出或堆栈跟踪轻松地追踪故障。

那里有没有Windows开发者创build了这样的系统? 我知道在UNIX世界中有Cron,但在Windows世界呢?

你应该能够使用以上所有的计划任务。

一个链接指向: http : //www.iopus.com/guides/winscheduler.htm

在命令提示符下键入'at'

> at /? The AT command schedules commands and programs to run on a computer at a specified time and date. The Schedule service must be running to use the AT command. AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] AT [\\computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command" \\computername Specifies a remote computer. Commands are scheduled on the local computer if this parameter is omitted. id Is an identification number assigned to a scheduled command. /delete Cancels a scheduled command. If id is omitted, all the scheduled commands on the computer are canceled. /yes Used with cancel all jobs command when no further confirmation is desired. time Specifies the time when command is to run. /interactive Allows the job to interact with the desktop of the user who is logged on at the time the job runs. /every:date[,...] Runs the command on each specified day(s) of the week or month. If date is omitted, the current day of the month is assumed. /next:date[,...] Runs the specified command on the next occurrence of the day (for example, next Thursday). If date is omitted, the current day of the month is assumed. "command" Is the Windows NT command, or batch program to be run. 

我建议在Vista / server 2008中查看修订的Task Scheduler 2.0 。 在以前的Windows版本中,它的功能要比1.0强大得多

  • 基于事件的触发器,例如每次引起应用程序事件代码1053
  • 触发失败的任务(对我来说最大的补充)
  • 更多内置的操作,如发送电子邮件,而不是调用blat.exe

看看你的名单,我相信你正在寻找的一切已经在那里了。

你看过Windows Scheduler吗? 它似乎满足您的大部分要求,如果不是全部,并且已经包含在操作系统中。 你可以在MSDN上找到它

如果您希望脚本“触发Win32 COM对象和/或可执行文件”,“触发.NET COM对象和/或.NET可执行文件”,记录失败并通过电子邮件通知失败,这听起来像是PowerShell的工作。

PowerShell没有记录和发送电子邮件给你,而是一种编程语言,你可以很容易地登录或发送电子邮件(或其他)。

我有计划的PowerShell脚本运行使用“at”/“任务计划程序”服务,成功。 这是一个很好的组合。

看看nnCron 。 我正在使用Lite版本。 它有一个unix crontab语法。 有一个日志文件,但对于更高级的监视方面,取决于你的脚本/应用程序提供的细节,例如。 返回结果代码(将被记录)。

nnCron Lite是windows中最好的cron克隆(免费,没有perl需求,crontab,错过任务,隐藏窗口运行,设置环境变量 – 对于postgres“dump all”工具有用)等等。

看看这里: Windows的Cron 。 还有一些类似Cron的软件被移植到了可以在Windows上运行的(免费)DOS,但是我不记得这个名字。

您是否已经尝试过将JIT-Scheduler与PowerShell结合使用?

http://shareme.com/download/jit-scheduler.html