CyberCron Copyright © 1992 by Christopher A. Wichura All rights reserved. e-mail: caw@miroc.chi.il.us BIX: caw Legal Mumbo Jumbo ~~~~~~~~~~~~~~~~~ CyberCron is copyrighted material. You are free to redistribute it so long as no charge is made on its distribution, except for costs of media and/or shipping. In using CyberCron, you assume all liabilities for damage, loss of money, productivity or data that may occur while CyberCron is active. Mr. Wichura can not and will not be held accountable. Why another cron for the Amiga? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because this one is meant for KickStart 2.04+ machines only! It uses the new System() call instead of Execute(), giving more power over the commands run. It also offers an extended set of options that may be specified for any given event. An event can be either a normal executable or an ARexx script. An ARexx port, based heavily on the one used in NazCron, is also available. CyberCron also uses file notification to determine when the crontab has been changed. Credits ~~~~~~~ Don Nafis, author of NazCron, from which I pretty much stole the idea for the initial ARexx command set recognized by CyberCron. Thomas Rokicki for a little bit of magic in the GetSystemTime() routine. Loren Rittle for, well, many things. He's responsible for getting me to add the stuff needed to support writing 'at' and 'batch' UNIX like commands (though I hope to have done it in a means general and flexible enough that others may be able to use the event options in their own, new ways) and writing the at.rexx and batch.rexx scripts, despite the time presure he is under right now. He also helped catch a number of bugs, offered little suggestions about functionality here and there and then there's always the __emit() trick in MySPrintfSupp() (I nearly cried when I saw it in his ls-4.5 code --- it never dawned on me to do anything so simple :->). Usage ~~~~~ You can start CyberCron from either the CLI or Workbench. No Workbench icon has been provided, however. This is mainly for two reasons: 1) I'm a dreadfully bad artist and could never in my wildest dreams make a nice looking icon (if anyone wants to do it and send it to me, I'd appreciate it) and 2) the CLI is the recommended means to start CyberCron because it will have a CLI structure, and hence a path to propigate to the commands it starts. CyberCron takes the following arguments: CronTab This specifies the crontab file to try and read. If not specified, it defaults to s:CronTab Logfile This indicates where CyberCron is to log activities. If no filespec is given, logging will be turned off. SendMail CyberCron supports sending the output of a command it has run to a user via e-mail. For this to work, however, it needs to know how to actually send the mail. This command tells it how to do this. If it is omitted, entries which try to specify output to e-mail will not have mail sent. The argument for this command should be in the form of " %s *"%s*"" For example, for AmigaUUCP's sendmail, one would use "UUCP:c/SendMail -f %s -R *"%s*"" The sendmail command __MUST__ support reading the mail file from its standard input, as CyberCron sets up a pipe to redirect the output into sendmail. This also means that you must have PIPE: mounted before mail can be sent. The sendmail command must also expect the To: and Subject: fields to be in the input instead of on the command line, and must generate the Message-ID: itself. AmigaUUCP's SendMail command does all this correctly. DefStack This is the default stack to launch executables at. Values less than 2048 will be rejected. This is ignored by ARexx events. If not specified, the stack size that CyberCron was started with will be used as the default. DefPriority The default priority to launch executables at. Also ignored by ARexx events. Defaults to 0. ConPri This is the priority CyberCron should run at. Defaults to no change (i.e., it will remain at the priority it was started at). To use these options from a Workbench icon, simply make each tooltype be in the form of