User Commands crontab(1)
NAME
crontab - user crontab file
SYNOPSIS
/usr/bin/crontab [filename]
/usr/bin/crontab -e [username]
/usr/bin/crontab -l [username]
/usr/bin/crontab -r [username]
/usr/xpg4/bin/crontab [filename]
/usr/xpg4/bin/crontab -e [username]
/usr/xpg4/bin/crontab -l [username]
/usr/xpg4/bin/crontab -r [username]
/usr/xpg6/bin/crontab [filename]
/usr/xpg6/bin/crontab -e [username]
/usr/xpg6/bin/crontab -l [username]
/usr/xpg6/bin/crontab -r [username]
DESCRIPTION
The crontab utility manages a user's access with cron (see
cron(1M)) by copying, creating, listing, and removing cron-
tab files. If invoked without options, crontab copies the
specified file, or the standard input if no file is speci-
fied, into a directory that holds all users' crontabs.
If crontab is invoked with filename, this overwrites an
existing crontab entry for the user that invokes it.
SunOS 5.11 Last change: 26 May 2010 1
User Commands crontab(1)
crontab Access Control
Users: Access to crontab is allowed:
o if the user's name appears in /etc/cron.d/cron.allow. o if /etc/cron.d/cron.allow does not exist and the user's name is not in /etc/cron.d/cron.deny.Users: Access to crontab is denied:
o if /etc/cron.d/cron.allow exists and the user's name is not in it. o if /etc/cron.d/cron.allow does not exist and user's name is in /etc/cron.d/cron.deny. o if neither file exists, only a user with thesolaris.jobs.user authorization is allowed to sub-
mit a job. o if Solaris Auditing is enabled, the user's shell isnot audited and the user is not the crontab owner.
This can occur if the user logs in by way of a pro-
gram, such as some versions of SSH, which does not set audit parameters. 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.crontab Entry Format
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 can 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 aSunOS 5.11 Last change: 26 May 2010 2
User Commands crontab(1)
minus sign (meaning an inclusive range). Time specified here is interpreted in the currently active timezone. At the topof the crontab file this is the timezone which is set
system-wide in /etc/default/init. A user can add a line such
as: TZ=timezone ...and all subsequent entries will be interpreted using that timezone, until a new TZ=timezone line is encountered. The specification of days can be made by two fields (day of the month and day of the week). Both are adhered to if specifiedas 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 com-
mand field is executed by the shell. Other lines are made available to the command as standard input. Any blank lineor line beginning with a `#' is a comment and is ignored.
The shell is invoked from your $HOME directory. As with $TZ,
both $SHELL and $HOME can be set by having a line such as:
SHELL=/usr/bin/someshell ...or: HOME=somedirectory ...which will take precedence for all the remaining entriesin the crontab or until there is another HOME or SHELL
entry. It is invoked with an arg0 of the basename of the$SHELL that is currently in effect. A user who wants to have
his .profile or equivalent file executed must explicitly doso in the crontab file. cron supplies a default environment
for every shell, defining HOME, LOGNAME, SHELL, TZ, and
SunOS 5.11 Last change: 26 May 2010 3
User Commands crontab(1)
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)). The TZ, HOME, and SHELL environment variables are set to match thosethat are in effect in the crontab file at the time.
If you do not redirect the standard output and standard error of your commands, any generated output or errors are mailed to you.crontab Environment Variables
The following variables are supported: HOME Allows the user to choose and alternative directory forcron to change directory to prior to running the com-
mand. For example: HOME=/var/tmp SHELL The name of the shell to use to run subsequent commands. For example: SHELL=/usr/bin/ksh TZ Allows the user to choose the timezone in which the cron entries are run. This effects both the environment of the command that is run and the timing of the entry. For example, to have your entries run using the timezone for Iceland, use: TZ=Iceland Each of these variables affects all of the lines that followit in the crontab file, until it is reset by a subsequent
line resetting that variable. Hence, it is possible to haveSunOS 5.11 Last change: 26 May 2010 4
User Commands crontab(1)
multiple timezones supported within a single crontab file.
The lines that are not setting these environment variablesare the same as crontab entries that conform to the UNIX
standard and are described elsewhere in this man page. Setting cron Jobs Across TimezonesThe default timezone of the cron daemon sets the system-wide
timezone for cron entries. This, in turn, is by set bydefault system-wide using /etc/default/init.
If some form of daylight savings or summer/winter time is in effect, then jobs scheduled during the switchover period could be executed once, twice, or not at all. OPTIONS The following options are supported:-e Edits a copy of the current user's crontab file, or
creates an empty file to edit if crontab does not
exist. When editing is complete, the file is installedas the user's crontab file.
The environment variable EDITOR determines which edi-
tor is invoked with the -e option. All crontab jobs
should be submitted using crontab. Do not add jobs by
just editing the crontab file, because cron is not
aware of changes made this way.If all lines in the crontab file are deleted, the old
crontab file is restored. The correct way to delete
all lines is to remove the crontab file using the -r
option.If username is specified, the specified user's crontab
file is edited, rather than the current user's crontab
file. This can only be done by root or by a user with the solaris.jobs.admin authorization.-l Lists the crontab file for the invoking user. Only
root or a user with the solaris.jobs.admin authoriza-
tion can specify a username following the -l option to
list the crontab file of the specified user.
-r Removes a user's crontab from the crontab directory.
Only root or a user with the solaris.jobs.adminauthorization can specify a username following the -r
option to remove the crontab file of the specified
SunOS 5.11 Last change: 26 May 2010 5
User Commands crontab(1)
user.EXAMPLES
Example 1 Cleaning up Core Files This example cleans up core files every weekday morning at 3:15 am:15 3 * * 1-5 find $HOME -namecore 2>/dev/null | xargs rm -f
Example 2 Mailing a Birthday Greeting This example mails a birthday greeting:0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.
Example 3 Specifying Days of the Month and Week This example runs a command on the first and fifteenth of each month, as well as on every Monday: 0 0 1,15 * 1 To specify days by only one field, the other field should be set to *. For example: 0 0 * * 1 would run a command only on Mondays. Example 4 Using Environment VariablesSunOS 5.11 Last change: 26 May 2010 6
User Commands crontab(1)
The following entries take advantage of crontab support for
certain environment variables. TZ=GMT HOME=/local/home/user SHELL=/usr/bin/ksh0 0 * * * echo $(date) > midnight.GMT
TZ=PST0 0 * * * echo $(date) > midnight.PST
TZ=EST HOME=/local/home/myuser SHELL=/bin/csh The preceding entries allow two jobs to run. The first one would run at midnight in the GMT timezone and the second would run at midnight in the PST timezone. Both would be run in the directory /local/home/user using the Korn shell. The file concludes with TZ, HOME, and SHELL entries that return those variable to their default values. ENVIRONMENT VARIABLES See environ(5) for descriptions of the following environmentvariables that affect the execution of crontab: LANG,
LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
/usr/bin/crontab
EDITOR Determine the editor to be invoked when the -e
option is specified. This is overridden by the VISUAL environmental variable. The default editor is vi(1).PATH The PATH in crontab's environment specifies the
search path used to find the editor. VISUAL Determine the visual editor to be invoked when the-e option is specified. If VISUAL is not speci-
fied, then the environment variable EDITOR is used. If that is not set, the default is vi(1)./usr/xpg4/bin/crontab
EDITOR Determine the editor to be invoked when the -e
option is specified. The default editor is /usr/xpg4/bin/vi.SunOS 5.11 Last change: 26 May 2010 7
User Commands crontab(1)
/usr/xpg6/bin/crontab
EDITOR Determine the editor to be invoked when the -e
option is specified. The default editor is /usr/xpg6/bin/vi. EXIT STATUS The following exit values are returned: 0 Successful completion. >0 An error occurred. FILES /etc/cron.d main cron directory /etc/cron.d/cron.allow list of allowed users /etc/default/cron contains cron default settings /etc/cron.d/cron.deny list of denied users /var/cron/log accounting information/var/spool/cron/crontabs spool area for crontab
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:/usr/bin/crontab
SunOS 5.11 Last change: 26 May 2010 8
User Commands crontab(1)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
/usr/xpg4/bin/crontab
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWxcu4 ||_____________________________|_____________________________|
| Interface Stability | Standard ||_____________________________|_____________________________|
/usr/xpg6/bin/crontab
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWxcu6 ||_____________________________|_____________________________|
| Interface Stability | Standard ||_____________________________|_____________________________|
SEE ALSO
atq(1), atrm(1), auths(1), ed(1), sh(1), vi(1), cron(1M),su(1M), auth_attr(4), attributes(5), environ(5), stan-
dards(5) NOTESIf you inadvertently enter the crontab command with no argu-
ments, do not attempt to get out with Control-d. This
removes all entries in your crontab file. Instead, exit with
Control-c.
When updating cron, check first for existing crontab entries
that can be scheduled close to the time of the update. Such entries can be lost if the update process completes after the scheduled event. This can happen because, when cron isnotified by crontab to update the internal view of a user's
crontab file, it first removes the user's existing internal
crontab and any internal scheduled events. Then it reads the
new crontab file and rebuilds the internal crontab and
events. This last step takes time, especially with a largeSunOS 5.11 Last change: 26 May 2010 9
User Commands crontab(1)
crontab file, and can complete after an existing crontab
entry is scheduled to run if it is scheduled too close to the update. To be safe, start a new job at least 60 seconds after the current date and time.Simultaneous modifications of the same crontab file may lead
to unexpected results.Care should be taken when adding TZ, SHELL and HOME vari-
ables to the crontab file when the crontab file could be
shared with applications that do not expect those variables to be changed from the default. Resetting the values to their defaults at the bottom of the file will minimize the risk of problems.SunOS 5.11 Last change: 26 May 2010 10