OS/2 eZine - http://www.os2ezine.com
Spacer
June 16, 2002

Do you have an OS/2 product or service you'd like to advertise?


Scheduling Solutions

After a brush with death with my company's support database this month, I decided it was time to have the database automatically backed up each night. After digging through the MySQL documentation, I was able to find the command I needed to run, but I was left to my own devices to find a method to have this command executed each night.

RSched 1.6

A visit to hobbes (http://hobbes.nmsu.edu) netted me RSCHED16A4.ZIP (ftp://hobbes.nmsu.edu/pub/os2/util/schedule/rsched16a4.zip"). This is a VIO scheduler and it sounded like it would fit the bill. I got it set up, and discovered it works exactly as advertised except for one thing: it accesses the disk to check for changes to its list of scheduled tasks every second. That means that the drive can never go to sleep, clearly unacceptable on a system that runs 24x7. I was able to increase the delay to access the disk, but the documentation warns that if you do this that it might miss events (Ack!) In any case, the delay can be increased only up to 999 seconds (16 minutes) so the drive wasn't going to be able to go to sleep with this program running. In the end, while I liked the simple user interface and the extensive job control options, I had to look for something else.

PM Cron Daemon

My next try at hobbes, I decided to try something with UNIX history, since I've long known of UNIX's propensity for automating tasks. This netted me pmcron03.zip (ftp://hobbes.nmsu.edu/pub/os2/util/schedule/pmcron03.zip").

When PM Cron Daemon runs, it displays as a small PM window with information on when the next CRON job will be executed. The nice thing here is that it figures out when the job is going to run, and then sleeps until then.

When you want to set up jobs to be run automatically, or to change settings, the settings are integrated with the daemon program, so you don't have to restart like you do with many other servers. Actually setting the program to run jobs at a given time is where the program shows its UNIX roots. You have to enter a command line of sorts in a given format to get Cron to run the job when you want it to. This isn't difficult, but a couple of text boxes with labels would have made it much easier.

Cron Command Format

The format of a Cron command is

[flags] times command

Examples

To have e:\backup.cmd run every day at 3:15am, use the following command:

15 3 * * * cmd.exe /ce:\backup.cmd >nul 2>&1

To have c:\yourapp.exe run on the first and 15th of each month, use the following commands:

* * 1 * * c:\yourapp.exe >nul 2>&1
* * 15 * * c:\yourapp.exe >nul 2>&1

To have c:\thisapp.exe run every Friday at 6:00pm, use the following command:

0 18 * * 5 c:\thisapp.exe >nul 2>&1

Summary

As you can see, PM Cron Daemon is quite easy to use, and has proven most reliable in my use. The program is available in both English and German, comes with extensive online help, and is GPL licensed. If you're looking for a scheduling solution, this is one to try. If you speak other languages, the author is looking for people to do translations. See the included readme file for details.


Robert Basler is the president of Aurora Systems, Inc. (http://www.aurora-systems.com) and has been a dedicated OS/2 user since he tired of rebooting Windows 3.1 twenty times a day. He spends what free time he can manage travelling the world. Photo was taken at Franz Josef glacier, New Zealand.

This article is courtesy of www.os2ezine.com. You can view it online at http://www.os2ezine.com/20020616/page_4.html.

Copyright (C) 2002. All Rights Reserved.