NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: CRON.NLM Server Utility v1.7 TID #: 2939440 README FOR: cron5.exe SUPERSEDES: CRONNLM4.EXE NOVELL PRODUCTS and VERSIONS: NetWare 4.2 ABSTRACT: Cron schedules commands to be executed on a NetWare server at specified dates and times. CRON.NLM is Y2K compliant. It does not use a year value for scheduling events. It has been tested for Y2K issues. NOTE: This utility helps system administrators. It is provided free of charge as a courtesy, and therefore, is not a Novell supported product. 8/20/2004 edit in readme only ----------------------------------------------------------------- DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES ALL REASONABLE EFFORTS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ----------------------------------------------------------------- INSTALLATION INSTRUCTIONS: See Issues Section ISSUE: CRON.NLM version 1.7 (NetWare v3.12, v4.x, and IntraNetWare) Copyright (C) 1997 Novell, Inc. All Rights Reserved ________________________________________ CONTENTS ________________________________________ I. Abstract II. Installation Instructions III. Usage IV. Product Description V. Enhancements/Bug Fixes VI. Known Issues VII. Frequently Asked Questions ________________________________________ I. ABSTRACT ________________________________________ Cron schedules commands to be executed on a NetWare server at specified dates and times. NOTE: This utility helps system administrators. It is provided free of charge as a courtesy, and therefore, is not a Novell supported product. NOTE: For more advanced scheduling capabilities on a NetWare server you can purchase third-party scheduling utilities. For more information refer to the following web pages: http://www.avanti-tech.com/taskmstr/tm_main.html. http://www.classic.com Novell does not support nor endorse these utilities. ________________________________________ II. INSTALLATION INSTRUCTIONS ________________________________________ Copy CRON.NLM to the SYS:\SYSTEM directory on your server. For NetWare 3.x: Copy CRON.MSG to the SYS:\SYSTEM directory on your server. NOTE: You MUST have CLIB.NLM and AFTER311.NLM from LIB312x.EXE (http://support.novell.com/misc/patlst.htm under the "NetWare 3.12" section) For IntranetWare and NetWare 4.x: Copy CRON.MSG to SYS:\SYSTEM\NLS\ For example, if you have the English message file you would copy CRON.MSG to SYS:\SYSTEM\NLS\4. ________________________________________ III. USAGE ________________________________________ load cron [logfile size] Logfile size specifies the size the logfile will reach before restarting. This keeps the logfile from getting too large and crashing the SYS volume. The default is 5 MB (5000000). ________________________________________ IV. PRODUCT DESCRIPTION ________________________________________ CRON.NLM is adapted from the well-known Unix clock daemon. Cron runs all day, spending most of its time asleep. Once a minute it wakes up and reads SYS:\ETC\CRONTAB. Any commands scheduled in CRONTAB matching the current date and time are executed. Cron records all actions in the log file SYS:\ETC\CRONLOG. CRONTAB SYNTAX: Each crontab entry has six fields, each separated by tabs or spaces: minute hour day-of-month month day-of-week command Each entry is checked in turn, and any entry matching the current time is executed. The entry * matches anything. A pound sign (#) is a comment. Valid values are: minute(0-59) hour(0-23) day-of-month(1-31) month(1-12) day-of-week(0-6) Note: week starts with 0=Sunday Examples: #Min Hr Dat Mo Day Command #print time every minute * * * * * time #print volumes on the hour 0 * * * * volumes #do backup Mon-Fri at 0430 30 4 * * 1-5 load sbackup #Start Oracle database every morning at 7:00 a.m. #Stop Oracle database every Sunday at 7:45 p.m. 0 7 * * * orastart 45 19 * * 0 orastop #Mon, Wed, Fri at 1930 down server 30 19 * * 1,3,5 down #Xmas morning at 0900 only 0 9 25 12 * load sing ________________________________________ V. ENHANCEMENTS/BUG FIXES ________________________________________ Enhancements to version 1.1: - Enhanced to removed the 2K size limit for CRONTAB. Enhancements to version 1.3: - Enhanced checking of scheduling parameters in CRONTAB. - Enhanced to execute commands on the minute mark. - Enhanced to spawn NLMs rather than feeding them to the keyboard buffer. All other commands are still fed to the keyboard buffer. - Fixed shutdown routine so that CRON can unload itself. Bug Fixes to version 1.5: - Whitespace before command were not being removed. - When "Load " is specified, the arguments were not being parsed correctly. Bug Fixes to version 1.6: - Month was corrected to check between Jan (1) and December (12). Previously December could not be selected. Enhancements to version 1.7: - Cron was enabled for localization. It must now be accompanied by a .MSG file which contains language specific messages. ________________________________________ VI. KNOWN ISSUES ________________________________________ Issue 1 - The keyboard buffer is stuffed with the command so anyone typing on the console at the time will have their keystrokes interrupted. ________________________________________ VII. FREQUENTLY ASKED QUESTIONS ________________________________________ Q: I try to load CRON on NetWare 3.12 and get a message like "Loader cannot find public symbol: LoadLanguageMessageTable" OR "Loader cannot find public symbol: NWfprinf" A: These messages occur when older verison of CLIB.NLM and AFTER311.NLM are being used. You need to download the latest version of these NLMs. They are both found in LIB312x.EXE (http://support.novell.com/misc/patlst.htm under the "NetWare 3.12" section) After these two NLMs have been installed load AFTER311.NLM before trying to load CRON. Q: I get the message "Can't access crontab". What does this mean? A: CRON does NOT create a file named CRONTAB; you must do that. CRONTAB is a text file that must exist in SYS:\ETC and have NO extension (NOT CRONTAB.TXT). Q: How do I create CRONTAB? A: With your favorite text editor, write the commands and save the file as SYS:\ETC\CRONTAB. Some text editors automatically add a .TXT extension. This is bad. Remove it. Q: Can I run DOS commands or DOS batch files? A: Cron can execute any command that is currently available from the NetWare server such as loading NLMs or server console commands. It does not provide DOS shell-like functionality. Q: Some NLMs stay loaded even when they have completed. The next time Cron tries to load it, it will give a "non-re-entrant" error. How can I unload them? A: Some NLMs have command-line options for auto-unloading. If not, you can schedule an unload command one minute before the load command. For example, if you want XYZBACK.NLM to run EVERY night at 3:00 am, you would use "0 3 * * * load xyzback" in CRONTAB. Unfortunately, xyzback requires a manual shutdown. It ran fine early Friday morning, but because the administrator didn't unload xyzback, the server could not load it fresh again early Saturday and Sunday mornings. A new command needs to go in CRONTAB: "59 2 * * * unload xyzback". Q: Can I redirect NLM output to keep status reports? A: Although you get a status report of cron in CRONLOG, you can NOT get output from any NLM that cron schedules. Novell Products and versions NetWare 3.12 NetWare 4.1 NetWare 4.11 NetWare 4.2 NetWare 5 NetWare for Small Business 4.11 NetWare for Small Business 4.2 Novell Small Business Suite 5 intraNetWare 4.11 Self-Extracting File Name: cron5.exe Files Included Size Date Time ..\ CRON5.TXT (This file) CRON.MSG 1039 1-28-1998 2:39:20 pm CRON.NLM 6518 6-8-1998 9:51:12 am ----------------------------------------------------------------- Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information. -----------------------------------------------------------------