Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cron-like system for Windows?

Tags:

windows

cron

I'm looking for an equivalent to a Cron system for Windows. The idea is to able to schedule a trigger and monitor whether it has run successfully or not.

What the system need to do is the following:

  • It should be able to trigger Win32 COM objects and/or executables.
  • It should be able to trigger .NET COM objects and/or .NET executables.
  • It should be able to trigger scripts written in any language, either based on native framework (Python, Perl, Ruby) or based on the DLR (IronPython, Ruby.NET, whatever)
  • The scripts should range between simple scripts that take a few seconds to fairly heavy ones that can take up to half an hour.

The monitoring aspect is critical. So basically I'm looking for the following:

  • If the script or executable fails then an e-mail should be sent or some other notification mechanism.
  • Every trigger should be logged so that we can look back and see when the code has failed.
  • The failure should easily be traced either through some sort of debug output or stack trace.

Are there any Windows developers out there who have created such a system? I know in the UNIX world there is Cron but what about in the Windows world?

like image 498
mghaoui Avatar asked Dec 02 '22 08:12

mghaoui


1 Answers

At command prompt type '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.
like image 77
vrdhn Avatar answered Dec 04 '22 06:12

vrdhn