cron – clock daemon

auth/cron [ –c ]

Cron executes commands at specified dates and times according to instructions in the files /cron/user/cron. It runs only on an authentication server. Option –c causes cron to create /cron/user and /cron/user/cron for the current user; it can be run from any Plan 9 machine.

Blank lines and lines beginning with # in these files are ignored. Entries are lines with fields
minute hour day month weekday host command

Command is a string, which may contain spaces, that is passed to an rc(1) running on host for execution. The first five fields are integer patterns for
minute      0–59
hour        0–23
day of month1–31
month of year1–12
day of week   0–6; 0=Sunday

The syntax for these patterns is
time    : '*'
| range
range : number
| number '–' number
| range ',' range

Each number must be in the appropriate range. Hyphens specify inclusive ranges of valid times; commas specify lists of valid time ranges.

To run the job, cron calls host and authenticates remote execution, equivalent to running rx host command (see con(1)). The user's profile is run with $service set to rx. If host is set to local, cron will run the command as user on the local machine without using rx.

Cron is not a reliable service. It skips commands if it cannot reach host within two minutes, or if the cron daemon is not running at the appropriate time.

Here is the job that mails system news.
% cat /cron/upas/cron
# send system news
15 8–17,21 * * *      helix       /mail/lib/mailnews

/cron/lock   lock file to prevent multiple crons running


con(1), rc(1)
Copyright © 2024 Plan 9 Foundation