EVERY.NLM is a very simple NLM developed to launch a program at regular intervals. There are some extra options to make it a bit more useful, but the whole thing boils down to a basic while loop.
EVERY.NLM has been lost to time, and servers I don't control going down. You might try this Cron utility by Novell.
LOAD EVERY.NLM -I INTERVAL "COMMAND TO RUN"Make sure the command is in quotes. If there's more than one word in the command, and you don't have quotes around the command line to be executed, EVERY.NLM will probably not do what you want it to.
EVERY.NLM will, using the above invocation, wait INTERVAL seconds, run "COMMAND TO RUN", and repeat until you either unload EVERY.NLM or your server goes down.
EVERY.NLM will open a window for itself, and record its actions in this window. EVERY.NLM will also copy all actions to the log file SYS:EVERY.LOG, so that you can look at them for later reference.
Some other options:
| -D D:HH:MM | pause until HH:MM on the next Day of the week (1-7) ie, -D 7:00:00 will pause until midnight saturday, execute it's command, and begin cycling normally. HH:MM must be in 24hour clock format.
| |
| -D HH:MM | pause until the next HH:MM | |
| -L | Do not create a log file. |
LOAD EVERY -I 3600 "LOAD QUOTA.NLM" will run QUOTA.NLM every 3600 seconds from when you loaded the EVERY.NLM LOAD EVERY -I 3600 -D 00:00 "LOAD QUOTA.NLM" will first wait until midnight, then run QUOTA.NLM every 3600 seconds later. LOAD EVERY -I 604800 -D 7:00:00 "LOAD BACKUP.NLM SYS:SYSTEM\BACKUP.OPT" will wait until Saturday at midnight, then run "LOAD BACKUP.NLM SYS:SYSTEM\BACKUP.OPT", and continue to do so every 604800 seconds (one week).EVERY.NLM's run intervals are from invocation of the program. Ie, EVERY.NLM does not wait for the command to finish before it starts counting forward. This allows a crude form of scheduling.
Last, EVERY.NLM is not a re-entrant NLM. This means that you can not run two copies of EVERY.NLM at the same time.
Questions, comments, or anything else should go to notarus@uiuc.edu. Please put "EVERY.NLM" somewhere in the header.