The following sections describe how to create, edit, display, and remove crontab
files, as well as how to control access to them.
The cron daemon schedules system tasks according to commands
found within each crontab
file. A crontab
file
consists of commands, one command per line, that will be executed at regular intervals.
The beginning of each line contains date and time information that tells the cron daemon when to execute the command.
For example, a crontab
file named root
is supplied during SunOS software installation. The file's contents include
these command lines:
10 3 * * * /usr/sbin/logadm (1) 15 3 * * 0 /usr/lib/fs/nfs/nfsfind (2) 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 (3) 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean (4)
The following describes the output for each of these command lines:
The first line runs the logadm command at 3:10 a.m. every day.
The second line executes the nfsfind script every Sunday at 3:15 a.m.
The third line runs a script that checks for daylight savings time (and make corrections, if necessary) at 2:10 a.m. daily.
If there is no
RTC time zone, nor an /etc/rtc_config
file, this entry does nothing.
The /usr/sbin/rtc script can only be run on an x86 based system.
The fourth line checks for (and removes) duplicate entries in the
Generic Security Service table, /etc/gss/gsscred_db
, at 3:30
a.m. daily.
For more information about the syntax of lines within a crontab
file,
see Syntax of crontab
File Entries.
The crontab
files are stored in the /var/spool/cron/crontabs
directory. Several crontab
files besides root
are provided during SunOS software installation. See the following
table.
Table 15.2. Default crontab
Files
|
Function |
---|---|
|
Accounting |
|
Printing |
|
General system functions and file system cleanup |
|
Performance data collection |
|
General |
Besides the default crontab
files, users can create crontab
files to schedule their own system tasks. Other crontab
files are named after the user accounts in which they are created, such
as bob
, mary
, smith
, or jones
.
To access crontab
files that belong to root
or
other users, superuser privileges are required.
Procedures explaining how to create, edit, display, and remove crontab
files are described in subsequent sections.
The cron daemon manages the automatic scheduling of crontab commands. The role of the cron daemon is to check
the /var/spool/cron/crontab
directory for the presence of crontab
files. The cron daemon performs the following
tasks at startup:
Checks for new crontab
files.
Reads the execution times that are listed within the files.
Submits the commands for execution at the proper times.
Listens for notifications from the crontab commands
regarding updated crontab
files.
In much the same way, the cron
daemon controls the
scheduling of at files. These files are stored in the /var/spool/cron/atjobs
directory. The cron daemon also
listens for notifications from the crontab commands regarding submitted at jobs.
A crontab
file consists of commands, one command
per line, that execute automatically at the time specified by the first five fields
of each command line. These five fields, described in the following table, are separated
by spaces.
Table 15.3. Acceptable Values for crontab
Time Fields
Time Field |
Values |
---|---|
Minute |
0-59 |
Hour |
0-23 |
Day of month |
1-31 |
Month |
1-12 |
Day of week |
0-6 (0 = Sunday) |
Follow these guidelines for using special characters in crontab
time
fields:
Use a space to separate each field.
Use a comma to separate multiple values.
Use a hyphen to designate a range of values.
Use an asterisk as a wildcard to include all possible values.
Use a comment mark (#) at the beginning of a line to indicate a comment or a blank line.
For example, the following crontab command entry displays a reminder in the user's console window at 4 p.m. on the first and fifteenth days of every month.
0 16 1,15 * * echo Timesheets Due > /dev/console
Each command within a crontab
file must consist of
one line, even if that line is very long. The crontab file does
not recognize extra carriage returns. For more detailed information about crontab
entries and command options, refer to the
crontab
(
1
)
man page.