NAME
cron —
daemon to execute scheduled
commands (ISC Cron V4.1)
SYNOPSIS
cron |
[-n]
[-x
debugflags] |
DESCRIPTION
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
“.rpmnew”.
- 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 such exists).
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:
- sch
- scheduling
- proc
- process control
- pars
- parsing
- load
- database loading
- misc
- miscellaneous
- 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 scheduled normally.
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.
SIGNALS
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).
FILES
- /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
SEE ALSO
crontab(1),
crontab(5)
AUTHORS
Paul Vixie ⟨vixie@isc.org⟩