NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO | NOTES
The crontab utility manages a user's access with cron (see cron(1M)) by copying, creating, listing, and removing crontab files. If invoked without options, crontab copies the specified file, or the standard input if no file is specified, into a directory that holds all users' crontabs.
User access to crontab is allowed:
If the user's name appears in /etc/cron.d/cron.allow.
If /etc/cron.d/cron.allow does not exist and the user's name is not in /etc/cron.d/cron.deny.
User access to crontab is denied:
If /etc/cron.d/cron.allow exists and the user's name is not in it.
If /etc/cron.d/cron.allow does not exist and user's name is in /etc/cron.d/cron.deny.
Note that the rules for allow and deny apply to root only if the allow/deny files exist.
The allow/deny files consist of one user name per line.
A crontab file consists of lines of six fields each. The fields are separated by spaces or tabs. The first five are integer patterns that specify the following:
minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday). |
Each of these patterns may be either an asterisk (meaning all legal values) or a list of elements separated by commas. An element is either a number or two numbers separated by a minus sign (meaning an inclusive range). Note that the specification of days may be made by two fields (day of the month and day of the week). Both are adhered to if specified as a list of elements. See EXAMPLES.
The sixth field of a line in a crontab file is a string that is executed by the shell at the specified times. A percent character in this field (unless escaped by \ ) is translated to a NEWLINE character.
Only the first line (up to a ` % ' or end of line) of the command field is executed by the shell. Other lines are made available to the command as standard input. Any line beginning with a ` # ' is a comment and will be ignored. The file should not contain blank lines.
The shell is invoked from your $HOME directory with an arg0 of sh. Users who desire to have their .profile executed must explicitly do so in the crontab file. cron supplies a default environment for every shell, defining HOME, LOGNAME, SHELL(=/bin/sh), TZ, and PATH. The default PATH for user cron jobs is /usr/bin; while root cron jobs default to /usr/sbin:/usr/bin. The default PATH can be set in /etc/default/cron; see cron(1M).
If you do not redirect the standard output and standard error of your commands, any generated output or errors will be mailed to you.
The following options are supported:
Edits a copy of the current user's crontab file, or creates an empty file to edit if crontab does not exist at the sensitivity label of the invoking process. When editing is complete, the file is installed as the user's crontab file.
If a username is specified, then then specified user's crontab file, rather than the current user's crontab file, is edited. A user can edit another user's crontab file under either of the following conditions:
If the user has modify cron admin authorization and the specified username is a role user or is in the /etc/cron.d/cron.admin file (which contains a list of administrative users for the cron).
If the user has modify cron users authorization and the specified username is not a role user and is not in the /etc/cron.d/cron.admin file.
TSOLdtpad
editor is used; and if neither variable is set, the adminvi editor is used. Note that all crontab jobs should be submitted using crontab; you should not add jobs by
just editing the crontab file because cron will not be aware of changes made this way.
Lists the crontab file for the current user at the sensitivity label of the invoking process. A user can list another user's crontab file under either of two conditions. The first condition is when the specified username is in the /etc/cron.d/cron.admin file or is a role user; and the user has the modify cron admin authorization. The second condition is when the specified username is neither in the /etc/cron.d/cron.admin file, nor a role user; and the user has the modify cron users authorization.
Removes a user's crontab (at the invoking process's sensitivity label) from the crontabs directory. A user can remove another user's crontab file under the following conditions:
When the user has modify cron admin authorization, user must either be the name of a role account or be one of the special system account names listed in the /etc/cron.d/cron.admin file.
When the user has modify cron users authorization, the specified user's name must not be the name of a role account and not be in the /etc/cron.d/cron.admin file.
15 3 * * 1-5 find $HOME -name core 2>/dev/null | xargs rm -f |
0 12 14 2 * mailx john%Happy Birthday!%Time for lunch. |
This example
0 0 1,15 * 1 |
To specify days by only one field, the other field should be set to *. For example:
0 0 * * 1 |
See environ(5) for descriptions of the following environment variables that affect the execution of crontab: LC_TYPE, LC_MESSAGES, and NLSPATH.
Determine the editor to be invoked when the -e option is specified. The default editor is ed(1). If both the EDITOR and VISUAL environment variables are set, the value of the VISUAL variable is selected as the editor.
Main cron directory
List of allowed users
Contains cron default settings.
List of denied users
Accounting information
Spool area for crontab
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Availability | SUNWcsu |
The crontab command requires the following forced privileges: proc_audit_tcb
, file_chown
, file_owner
, and proc_setid
.
Authorization is required to view, modify, or remove another user's crontab file.
An ancillary file is created in the /var/spool/cron/crontabs directory for each crontab file. By convention, the file is named username.ad; and it is used by the clock daemon to set up the cron job to run.
cron jobs are run with the profile shell if the user's login shell (in the passwd entry) or $SHELL is the profile shell. Otherwise, sh is used.
The default Trusted Solaris environment has an /etc/cron.d/cron.deny file, and an /etc/cron.d/cron.admin file.
If you inadvertently enter the crontab command with no argument(s), do not attempt to get out with CTRL-D. This removes all entries in your crontab file. Instead, exit with CTRL-C.
If an authorized user modifies another user's crontab file, resulting behavior may be unpredictable. Instead, the authorized user should first su(1M) to the other user's login before making any changes to the crontab file.
When updating a user's crontab file with the crontab command, the cron process sees this update immediately when no cron jobs are running. However, if cron is running any cron job(s) at the time of updating, it could take a maximum of 60 seconds before cron is aware of this update. Therefore, to be safe, a new job should be started at least 60 seconds after the current date and time.
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO | NOTES