A task is defined by a key, a command, and optionally
also interval, environment, and logfile.
Blank lines and lines starting with a hash mark (#) are treated as
comments and ignored. Long lines can be broken up by putting a
backslash at the end of the line and continuing the entry on the
An entry looks like this:
CRONDATE 30 4 1 * *
The key is enclosed in angle brackets, and must be unique
for each task. You can choose your key-names as you like, they
are only used internally in xymonlaunch to identify each task.
The command is defined by the CMD keyword. This is
the full command including any options you want to use for this
task. This is required for all tasks.
The DISABLED keyword means that this command is disabled.
xymonlaunch will not start this task. It is recommended that
you use this to disable standard tasks, instead of removing them
or commenting them out. Upgrades to Xymon will add standard
tasks back into the file, so unless you have them listed as DISABLED
then tasks may re-appear unexpectedly after an upgrade. There is
also a corresponding ENABLED keyword, to explicitly enable
The ONHOST keyword tells xymonlaunch that this task should
only run on specific hosts. After the ONHOST keyword, you must
provide a "regular expression"; if the hostname where xymonlaunch
runs matches this expression, then the task will run. If it doesnt
match, then the task is treated as if it were DISABLED.
The MAXTIME keyword sets a maximum time that the task may
run; if exceeded, xymonlaunch will kill the task. The time
is in seconds by default, you can specify minutes, hours or
days by adding an "m", "h" or "d" after the number. By default
there is no upper limit on how long a taskmay run.
The NEEDS instructs xymonlaunch not to run this task unless
the task defined by the NEEDS keyword is already running. This
is used e.g. to delay the start of some application until the
needed daemons have been started. The task that must be running
is defined by its key.
The GROUP keyword can be used to limit the number of tasks
that may run simultaneously. E.g. if you are generating multiple
pagesets of webpages, you dont want them to run at the same time.
Putting them into a GROUP will cause xymonlaunch to delay the start
of new tasks, so that only one task will run per group. You can
change the limit by defining the group before the tasks, with
a "GROUP groupname maxtasks" line.
The INTERVAL keyword defines how often this command is
executed. The example shows a command that runs every 5 minutes.
If no interval is given, the task is only run once - this is
useful for tasks that run continually as daemons - although
if the task stops for some reason, then xymonlaunch will attempt
to restart it. Intervals can be specified in seconds (if you
just put a number there), or in minutes (5m), hours (2h), or
The CRONDATE keyword is used for tasks that must run at
regular intervals or at a specific time. The time specification
is identical to the one used by cron in
crontab(5) entries, i.e. a sequence of numbers for minute, hour, day-of-month,
month and day-of-week. Three-letter abbreviations in english can
be used for the month and day-of-week fields. An asterisk is a
wildcard. So in the example above, this job would run once a
month, at 4:30 AM on the 1st day of the month.
The ENVFILE setting points to a file with definitions of
environment variables. Before running the task, xymonlaunch will
setup all of the environment variables listed in this file.
Since this is a per-task setting, you can use the same xymonlaunch
instance to run e.g. both the server- and client-side Xymon
tasks. If this option is not present, then the environment
defined to xymonlaunch is used.
The ENVAREA setting modifies which environment variables
are loaded, by picking up the ones that are defined for this
specific "area". See
xymonserver.cfg(5) for information about environment areas.
The LOGFILE setting defines a logfile for the task.
xymonlaunch will start the task with stdout and stderr redirected
to this file. If this option is not present, then the output
goes to the same location as the xymonlaunch output.