File CRON12.ZIP from The Programmer’s Corner in
Category Utilities for DOS and Windows Machines
MS-DOS port of Unix CRON utility; works with Desqview and networks as well as vanilla MS-DOS. Runs programs you designate at specified periodic times. Has ability to swap itself to disk.
File Name File Size Zip Size Zip Type
CDD.EXE 4770 2869 deflated
CRON.DOC 55256 14667 deflated
CRON.EXE 35716 19963 deflated
CRONTAB 3292 1455 deflated
LOGCHECK.EXE 14256 9038 deflated

## Contents of the CRON.DOC file

CRON User's Guide

Manual Revision 10-21-90
CRON Version 1.2

Shareware by
Tron Hvaring
PO Box 371
N-8501 Narvik
Norway

Phone: +47 82 44145
Fax: +47 82 44 160
BIXname: thvaring

CRON User's Guide Rev. 10-21-90 (C) 1990 Tron Hvaring

CRON User's Guide Rev. 10-21-90 Contents

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Product Description . . . . . . . . . . . . . . . . . . . . 1
1.2 Shareware . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 2
1.4 System Requirements . . . . . . . . . . . . . . . . . . . . 2
1.5 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Archive Contents . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Installing CRON . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Setting up CRON's environment . . . . . . . . . . . . . . . 3
2.4 Set Your Clock . . . . . . . . . . . . . . . . . . . . . . . 4

3 USING CRON . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Command-line Summary . . . . . . . . . . . . . . . . . . . . 5
3.2 Crontab override -- the '-c tab' option . . . . . . . . . . 5
3.3 Disable logging -- the '-n' option . . . . . . . . . . . . . 6
3.4 Swap Mode -- the '-s', '-d dir' and '-e' options . . . . . . 6
3.5 Verbose mode -- the '-v' option . . . . . . . . . . . . . . 6
3.6 Locking the logfile -- the '-L' option . . . . . . . . . . . 7
3.7 Stopping CRON . . . . . . . . . . . . . . . . . . . . . . . 7
3.8 Startup Information . . . . . . . . . . . . . . . . . . . . 7

4 THE CRONTAB IN DETAIL . . . . . . . . . . . . . . . . . . . . . 8
4.1 Syntax Summary . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 The Date and Time fields . . . . . . . . . . . . . . . . . . 8
4.3 The Command Field . . . . . . . . . . . . . . . . . . . . . 9

5 THE CRONLOG IN DETAIL . . . . . . . . . . . . . . . . . . . . . 12
5.1 General Description . . . . . . . . . . . . . . . . . . . . 12
5.2 Starting And Stopping CRON . . . . . . . . . . . . . . . . . 12
5.3 Start and Stop of CRONTAB Entry Processing . . . . . . . . . 13
5.4 Logging Multi-Command Execution . . . . . . . . . . . . . . 14

6 ERROR HANDLING . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1 General Considerations . . . . . . . . . . . . . . . . . . . 15
6.2 Failure to Spawn a Command . . . . . . . . . . . . . . . . . 16
6.3 A Spawned Command Fails . . . . . . . . . . . . . . . . . . 16
6.4 Other Internal CRON errors . . . . . . . . . . . . . . . . . 17
6.5 Exit Codes and COMMAND.COM . . . . . . . . . . . . . . . . . 17

7 ADVANCED TOPICS . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1 Resource Requirements . . . . . . . . . . . . . . . . . . . 18
7.2 Using CRON with DESQview . . . . . . . . . . . . . . . . . . 18
7.3 CRON Technical Information . . . . . . . . . . . . . . . . . 19
7.4 Differences between CRON and UNIX cron . . . . . . . . . . . 19

8 REFERENCE SECTION . . . . . . . . . . . . . . . . . . . . . . . 21
8.1 Error Messages . . . . . . . . . . . . . . . . . . . . . . . 21

CRON User's Guide Rev. 10-21-90 (C) 1990 Tron Hvaring

CRON User's Guide Rev. 10-21-90 Contents

8.2 Exit Codes . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2.1 Common Exit Codes . . . . . . . . . . . . . . . . . . 22
8.2.2 Swap Mode . . . . . . . . . . . . . . . . . . . . . . 23
8.2.3 Non-Swap Mode . . . . . . . . . . . . . . . . . . . . 23
8.2.4 RC = -1 for '!' Commands . . . . . . . . . . . . . . 23

9 UTILITY PROGRAMS . . . . . . . . . . . . . . . . . . . . . . . . 24
9.1 CDD.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.2 LOGCHECK.EXE . . . . . . . . . . . . . . . . . . . . . . . . 24

10 PROGRAM HISTORY . . . . . . . . . . . . . . . . . . . . . . . . 26

CRON User's Guide Rev. 10-21-90 (C) 1990 Tron Hvaring

CRON User's Guide Rev. 10-21-90 Page 1

1 INTRODUCTION

1.1 Product Description

This is version 1.2 of CRON.

CRON is a timed command dispatcher that closely implements all the
features of the UNIX 'cron' utility that make sense in a DOS
environment.

CRON reads a special file at startup, conventionally called CRONTAB,
where each entry defines a time and a command to execute at that time.
All commands are periodic, i.e. one-shot commands are not possible. The
longest period is one year, however, so this is not considered a
problem. In a PC environment, a command with a 1-year period is a one-
shot command for all practical purposes.

After a command has executed, CRON re-calculates its next execution
time, then sorts the command list in time order and waits until the
first command in the list is due for execution. This sequence is
repeated undefinitely (or until the user stops CRON).

CRON optionally logs its activites in a file conventionally called
CRONLOG. The layout of this file is more or less identical to the UNIX
cronlog and conveys the same information. The cronlog maintains an
accurate track of CRON's activities. A startup option is available to
make CRON lock the log file during access, allowing several
workstations on a network to run CRON with a central logfile on the
server.

CRON works well with DESQview. Under DESQview, the background operation
of UNIX cron can be emulated by letting CRON run by itself in a (small)
window. Indeed, CRON was originally developed for use with DESQview.
See chapter 7 for instructions on using CRON with DESQview.

Although based on UNIX cron, CRON is developed from scratch and
contains no proprietary code.

CRON User's Guide Rev. 10-21-90 (C) 1990 Tron Hvaring

CRON User's Guide Rev. 10-21-90 Page 2

1.2 Shareware

CRON is shareware (aka. User Supported Software). This means that you
may freely use CRON for a reasonable evaluation period. You may also
freely distribute CRON11.ZIP in unmodified form, to BBS'es or
otherwise.

If, after a reasonable evaluation period, you find CRON useful, I would
appreciate a contribution. NOK 150 (USD 25) suggested.

All the usual disclaimers about damages, fitness for any particular
purpose and all that apply. In brief, you use CRON at your own risks
and perils.

The contents of the CRON12.ZIP archive (i.e. CRON.EXE, CRONTAB,
CRON.DOC, LOGCHECK.EXE and CDD.EXE) are Copyright (C) 1990 by Tron
Hvaring.

1.3 Acknowledgements

Thanks to Thomas Wagner, Berlin, Germany for his EXEC routines (public
domain software, available as EXEC22.LZH on many BBS'es), on which
CRON's swap logic is based, and to Borland International for their
splendid debugger.

1.4 System Requirements

CRON runs on any IBM PC compatible computer under the DOS operating
system, version 3 or later. CRON requires a minimum of 44KB of free
memory to load, more for large CRONTABS.

1.5 Feedback

implements all the features of UNIX cron that make sense in a DOS
environment, new functionality is not likely to be added if not
sollicited by users. Bug reports, on the other hand, is a different
story.

CRON User's Guide Rev. 10-21-90 (C) 1990 Tron Hvaring

CRON User's Guide Rev. 10-21-90 Page 3

2 INSTALLATION

2.1 Archive Contents

This archive should contain the following files:

- CRON.EXE, the executable program
- CRON.DOC, this document
- CRONTAB, annotated sample crontab
- LOGCHECK.EXE, let CRON control its log size
- CDD.EXE smarter CHDIR command

2.2 Installing CRON

Copy CRON.EXE to a directory in the DOS PATH (e.g. c:\bin).

Create a directory for CRON's use, for example C:\CRON.

This directory should be used for crontabs and log files.

Create your crontab using the supplied CRONTAB as a template. Read the
crontab in the directory you created.

2.3 Setting up CRON's environment

CRON recognizes several environment variables. These are:

CRONTAB if set, CRON assumes it contains the name of a file that is
to be used as the crontab. This can be overridden on the
command line. Typically, this environment variable will
contain C:\CRON\CRONTAB.

CRONLOG required if you want CRON to log its operations. Set to the
name of the logfile (e.g. C:\CRON\CRONLOG). Note that
CRONLOG must point to a fully qualified file name,
including drive/path. This is required since the commands
that CRON execute may change the logged drive and/or
directory.

TZ indirectly consulted by the time management functions of
the run-time library. If you live in a country that uses
daylight savings, TZ must be set for CRON to operate
correctly when the daylight savings period changes (twice a
year). Syntax is:
TZ=

December 30, 2017