Download WinCron 1.91


WinCron 1.91
 
Related Links:  
CronIco WinCron management tool  
CronLog manages your WinCron log files  

INTRODUCTION:
 
 

WinCron is basically a Windows implementation of the UNIX cron program. WinCron runs under Windows 95, 98 & Windows NT. The main advantage this program has over many of the event scheduling programs already out there (besides being free) is that it can read the event table as a text file from any drive. This allows you to alter the events that are being scheduled without having to have access to the console of the computer that WinCron is running on. Editing the text file can be done from any machine that has sufficient rights to alter the file.
 
 
 
 

INSTRUCTIONS FOR USE:
 
 

WinCron was written in Visual Basic 6.0 and requires standard VB libraries (MSVBVM60.DLL & OLEAUT32.DLL).

The event (crontab) file is limited to 1000 lines. If you should need more then that, a second instance of WinCron can be launched and a different event file can be specified for the second instance. WinCron uses the same convention as many UNIX crontab files, a plain text file with each line having six fields separated by one or more spaces. The logical operator between all fields is "AND"; therefore, every field must be true before the instruction will be executed.
 
 

The fields are as follows:

1. Minute (0-59)

2. Hour (0-23)

3. Day of Month (1-31)

4. Month (1-12)

5. Day of week (0-6) (0 being Sunday)

6. The instruction you wish to execute.
 
 

Example entry:

01    02    03    *    *    c:\batch\cleanup.bat
 
 

This line would start the "cleanup.bat" batch file at 00:01 (02:01am) on the third day of every month, regardless of the day of the week.
 
 

It is also acceptable to schedule multiple times for a program to run by separating entries with a comma. If this is done, you should use two digits for each entry in the "Minute", "Hour", and "Day of Month fields". In the "Day of Week" field, each entry must be a single digit. There cannot be any spaces between the comma-separated entries.
 
 

Example:

01,02,03    01     01     *     1,2,3,4,5     c:\batch\cleanup.bat
 
 

Additional logical functionality is available through the use of a "NOT" operator. Acceptable symbols for a logical "NOT" are "-" or "!". This allows an event to be started at times that Do Not match the entry in the event file. It is important to keep in my that the logical AND is still used between fields. So in the below example the cleanup.bat file wouldn't run on any day that was either the 13th or a Friday.
 

Example:

01    06    *    !13    *    !5     c:\batch\cleanup.bat
 

To create an entry that runs everyday except Friday the 13th you would have to set it up as follows:

01    06    *    !13    *    *    c:\batch\cleanup.bat
01    06    *    13     *    !5   c:\batch\cleanup.bat
 

Multiple values with the "NOT" operator may be included in the same field if separated by commas. There cannot be any spaces between the comma-separated values. However, if there is one logical "NOT" operator in the field, all values within the field will be considered to be preceded by the "NOT" operator. This means that !1,!2 is the same as !1,2.
 
 

Example:

01    *    !07,!13    *    !5 c:\batch\cleanup.bat
 
 

WinCron can be used to schedule events that are to be run only once. To use this functionality place an @ symbol at the beginning of the first (the minute) field. For obvious reasons, wildcards cannot be used when running a program only once. The last field (the day of week field) is used as a year field when scheduling an event to run only once. All fields must be filled in or the line will be ignored.
 
 

Example:

@01 01 01 01 1998 c:\batch\cleanup.bat
 
 

Starting a line with "@launch" will cause that line to be passed to the operating system's command interpreter as soon as WinCron launches. This is particularly useful for starting CronIco at the same time WinCron is launched.
 
 

Example:

@launch c:\batch\startup.bat
 
 

Starting a line with "#" will cause that line to be ignored, so remarks may be placed in the event (crontab) file. The "#" should appear as the first character of the line and must be followed by at least one space. Remark lines count against the 1000 line maximum of the event file.
 
 

Example:

# This is a comment line
 
 

Because Windows 95 and Windows NT have slightly different ways of initiating an asynchronous process, it is recommend that you place the commands to be run in a batch file and use WinCron to start the batch file. This will allow you to set any parameters or handle any decision making logic outside of the WinCron program.
 
 

Using batch files also allows you to use MS-DOS shell switches to control how the program being launched is handled. Windows .pif (shortcut) files can also be used to control how the batch file is run. Because this software is often run on servers, I have attempted to leave most program control functionality to the shell in the interest of stability.
 
 

To start WinCron, simply launch it from the command line or from a short cut. The path and file name of the crontab file MUST be specified at the command line (i.e. WinCron f:\util\crontab.txt). The only purpose of the large button in the middle of the main form is to check if the program is still responding. Pressing this button updates the button's caption to indicate current status and time.
 
 

Double Clicking on the text box that shows the crontab file being used launches Microsoft Notepad (if it is in the system path) to edit the file.
 
 

The program reloads the event table every 60 seconds. The switch /NoUpdate can be used to prevent WinCron from updating the crontab file. If this switch is used, WinCron will only load the crontab file once when first launched.
 
 

Example:

WinCron f:\system\util\crontab.txt /NoUpdate
 
 

There is also a /Hide switch that has been added at the request of several sysadmins. This will prevent the user from being able to see that WinCron is running; however, this means the only way for the sysadmin to check on the program is to hit crtl-alt-del and look at the task list.
 
 

Example:

WinCron f:\system\util\crontab.txt /NoUpdate /Hide
 
 

Logging can be enabled by using the /Log switch at the command line. WinCron only logs errors and program launches. If the exit status of a program is needed, then the batch file used to the launch the program must be used to record this information. The log file is always named the same as the crontab file with an extension of .log appended to the end. That means that if you name your crontab file "crontab.txt", the log file will be named "crontab.txt.log". This has been known to cause problems on systems where the crontab file is being stored on a network drive that does not support long file names. If you run into this problem, my suggestion is to simply call the crontab file "crontab" with no extension, so that appending .log will result in a log file named "crontab.log". Double Clicking on the text box that shows the log file size will launch Microsoft Notepad (if it is in the system path) to view the file. If the log size exceeds 5 Megabytes the text box showing log file size will change to color to red.
 
 

Example:

WinCron f:\system\util\crontab.txt /NoUpdate /Hide /Log
 
 

There has been some debate as to how to handle errors in a cron type program. The default action is for WinCron is to simply fail and exit on any error. The reason for this is that often cron programs are used to schedule several events in a specific sequence. A lost network connection or similar event could cause unpredictable results. The safest way to handle errors seems to be halting all events until the situation can be evaluated. If you would prefer WinCron to continue to process events after errors, the /ContinueOnError switch may be used. Note: Depending on your system the program may still fail and exit if logging is switched on and the log file becomes inaccessible.
 
 

Also remember, multiple instances of WinCron can be launched on the same computer. Each instance can be launched with different switches, so a table containing events that must be run in sequence and one containing unsequenced events can both dealt with in different modes on the same machine.
 
 

Example:

WinCron f:\system\util\crontab.txt /NoUpdate /Hide /Log /ContinueOnError
 
 
 
 

I would like to extend special thanks to cydo@rype.de who developed CronIco.
 
 

I hope that this program is useful to you. I can make no claim as to this software's stability or value. It is being offered as is. Use at your own risk. If you find it useful, all I ask is that you please email me at graysteel@erols.com just so I know that it's useful to someone. The Author reserves all copyrights. Permission is granted to any individual or institution to use, copy, or redistribute this executable so long as it is not modified and that it is not sold for profit. Also, feel free to email any suggestions for revisions to the program.
 
 
 
 

REVISION HISTORY

--1.91--

Compiled with VB 6.0 rather then VB 4.0

@launch functionality added

"Heartbeat" function for CronIco added

Blank lines now allowed in crontab file for neater formatting

Logging detail now includes task ID or launch failure
 
 

--V1.84--

Carriage return no longer needed after the last line in crontab file
 
 

--V1.83--

Yet again more tolerant field parsing

Added small command line help screen with /? or /help
 
 

--V1.82--

Font display error on some systems fixed

Wording change in error reporting
 
 

--V1.81--

Graphical interface switch setting added

WinCron launch now logged (for security reasons)

Slightly reduced CPU load on event testing
 
 

--V1.71--

Logical NOT operator added

Log file size indicator added

Improved file sharing of log files

Reduced CPU load on disk read

More tolerant field parsing

Limited crontab error testing
 
 

--V1.61---

@ Functionality added

/NoUpdate bug fixed

Reduced CPU load and delay on start up

Improved sharing of crontab file


Download WinCron 1.91