CRON(8) System Manager's Manual CRON(8)
cron -- daemon to execute scheduled commands (ISC Cron V4.1)
cron [-n] [-x debugflags]
cron is normally started during system boot by rc.d(8) framework, if cron
is switched on in rc.conf(5).
It will return immediately so you don't have to start it with `&'.
cron searches /var/cron/tabs for crontab files which are named after
accounts in /etc/passwd. Crontabs found are loaded into memory. cron
also searches for /etc/crontab which is in a different format (see
crontab(5)). Finally cron looks for crontabs in /etc/cron.d if it
exists, and executes each file as a crontab.
When cron looks in a directory for crontabs (either in /var/cron/tabs or
/etc/cron.d) it will not process files that:
- Start with a `.' or a `#'.
- End with a `~' or with ``.rpmsave'', ``.rpmorig'', or
- Are of zero length.
- Their length is greater than MAXNAMLEN.
cron then wakes up every minute, examining all stored crontabs, checking
each command to see if it should be run in the current minute. When
executing commands, any output is mailed to the owner of the crontab (or
to the user named in the MAILTO environment variable in the crontab, if
Events such as START and FINISH are recorded in the /var/log/cron log
file with date and time details. This information is useful for a number
of reasons, such as determining the amount of time required to run a
particular job. By default, root has an hourly job that rotates these
log files with compression to preserve disk space.
Additionally, cron checks each minute to see if its spool directory's
modtime (or the modtime on /etc/crontab or /etc/cron.d) has changed, and
if it has, cron will then examine the modtime on all crontabs and reload
those which have changed. Thus cron need not be restarted whenever a
crontab file is modified. Note that the crontab(1) command updates the
modtime of the spool directory whenever it changes a crontab.
The following options are available:
-x This flag turns on some debugging flags. debugflags is comma-
separated list of debugging flags to turn on. If a flag is
turned on, cron writes some additional debugging information to
system log during its work. Available debugging flags are:
proc process control
load database loading
test test mode - do not actually execute any commands
bit show how various bits are set (long)
ext print extended debugging information
-n Stay in the foreground and don't daemonize cron.
Daylight Saving Time and other time changes
Local time changes of less than three hours, such as those caused by the
start or end of Daylight Saving Time, are handled specially. This only
applies to jobs that run at a specific time and jobs that are run with a
granularity greater than one hour. Jobs that run more frequently are
If time has moved forward, those jobs that would have run in the interval
that has been skipped will be run immediately. Conversely, if time has
moved backward, care is taken to avoid running jobs twice.
Time changes of more than 3 hours are considered to be corrections to the
clock or timezone, and the new time is used immediately.
On receipt of a SIGHUP, the cron daemon will close and reopen its log
file. This is useful in scripts which rotate and age log files.
Naturally this is not relevant if cron was built to use syslog(3).
/var/cron/tabs cron spool directory
/etc/crontab system crontab file
/etc/cron.d/ system crontab directory
/var/log/cron log file for cron events
Paul Vixie <vixieATisc.org>
NetBSD 6.1.5 October 12, 2011 NetBSD 6.1.5