Take the 2-minute tour ×

We are a small shop. I am mainly a programmer, but due to being the only one that risks to manage our servers, the task has fallen on me (yet I it is still a secondary function so I cannot give it too much time).

Over the course of years we have needed to create a decent number of .bat scripts that run as scheduled tasks in our servers (dump DB servers, SVN servers, copy files, etc.).

Manually checking that everyone has proceeded ok is a time consuming task. I could get them to send an email on completion, but then I would get swarmed by lots of emails each morning. If I setup them to only e-mail on failure, I might miss the instances where the error causes the task to abort (or even not to start).

Are there other alternatives? We are currently using Windows 2003 R2, but we are thinking of adding some Linux server soon, so a cross-platform solution would be best.

share|improve this question
add comment

3 Answers

Although it's primarily intended for monitoring services, I'd be thinking about using Nagios for this - ultiately it's just a scheduling and reporting engine - what programs it runs and where they are run is up to you.

In addition to running as a scheduling engine, you can configure the jobs to be passive - then inject status into Nagios depending on the outcome - which is maybe a more sensible approach if you have complex dependencies (e.g. only run the backup after the AV sweep has comleted). With this approach you can use your existing emails as triggers for states of the services.

Regardless of which approach you choose, you are going to have to spend some time and effort on this.

share|improve this answer
Definitely the first look seems like I needed, I am still checking the documentation to find out how to use it. I'll be back to you soon. –  SJuan76 Sep 8 '12 at 15:05
add comment

As you are a programmer I am rather astonished that you are manually checking this kind of thing. It's easy enough to have each batch file log its results. Create another program in whatever language you prefer (Perl is ideal for this) to parse those logs and send you an email. All you need it to tell you is that either all tasks completed successfully or list any that didn't. Only on failure would you then need to perform a manual check.

share|improve this answer
Thought about it, but a) worried about depending on yet another scheduled task to check scheduled tasks and b) generating each script locally would be easy, but controlling them centrally would not be. Also, I would have no backup for mantaining the system while I am at holiday or gone. –  SJuan76 Sep 8 '12 at 15:03
add comment

Since you oddly seem to be uncomfortable with a scripted/scheduled solution as suggested by John Gardeniers, you could always save an MMC setup that connects to the scheduled task logs on all your remote servers.

  1. Enter “mmc” in the Start Search box.
  2. Click File->Add/Remove Snap-in.
  3. In the left column, select “Task Scheduler”. Click Add.
  4. Choose “Another computer”. Enter the correct IP address or computer name. You can also browse for the computer.
  5. Click File->Save As to save it.

At least make your life easier by centralizing those logs into one display, though, I too would prefer a script that parses the logs for events I give a damn about and send me an email in the morning. For what it's worth, I get a hundred or so automated emails every morning, and it takes me a couple minutes to parse them. A rule dumps them all into a folder, and I can tell from the title ([blah]: SUCCESS/WARNING/FAILURE) whether to ignore them or not.

share|improve this answer
add comment

Your Answer


