Checking that tasks are executed

Solution 1:

I assume your are running UNIX/LINUX system if you are using cron, so the most simple way to monitor "a task didn't run at the expected time" is remote logging to one(?) log server, something like this in your syslog.conf:

cron.!=info;   @logserver.yourdomain.tld

Then you can browse those logs for errors or just add some log parsing script to do this job.

But anyway there always will be possibility that logging is broken and you just do not receive error messages.

Solution 2:

I don't think there is something already done about that. You could set all tasks to log in a single file their status: timestamp, server, task, status, other info.

And than you parse this file periodically and send email when status is failed or warning or tasks have old timestamps. In order to be sure that this script was successful it will send an email even if everything is ok.

This way you won't be flooded by emails, it will be just one email from time to time.