9070 Remove wanboot from gate
[unleashed.git] / usr / src / man / man1 / crontab.1
blobc5e4b6e32128f9a1680344ad5e19f0c2d066e6b2
1 '\" te
2 .\" Copyright 1989 AT&T
3 .\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
4 .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
5 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at  http://www.opengroup.org/bookstore/.
6 .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text
7 .\" are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical
8 .\" and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
9 .\"  This notice shall appear on any product containing this material.
10 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
11 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
12 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
13 .TH CRONTAB 1 "Mar 6, 2017"
14 .SH NAME
15 crontab \- user crontab file
16 .SH SYNOPSIS
17 .LP
18 .nf
19 \fB/usr/bin/crontab\fR [\fIfilename\fR]
20 .fi
22 .LP
23 .nf
24 \fB/usr/bin/crontab\fR \fB-e\fR [\fIusername\fR]
25 .fi
27 .LP
28 .nf
29 \fB/usr/bin/crontab\fR \fB-l\fR [\fIusername\fR]
30 .fi
32 .LP
33 .nf
34 \fB/usr/bin/crontab\fR \fB-r\fR [\fIusername\fR]
35 .fi
37 .LP
38 .nf
39 \fB/usr/xpg4/bin/crontab\fR [\fIfilename\fR]
40 .fi
42 .LP
43 .nf
44 \fB/usr/xpg4/bin/crontab\fR \fB-e\fR [\fIusername\fR]
45 .fi
47 .LP
48 .nf
49 \fB/usr/xpg4/bin/crontab\fR \fB-l\fR [\fIusername\fR]
50 .fi
52 .LP
53 .nf
54 \fB/usr/xpg4/bin/crontab\fR \fB-r\fR [\fIusername\fR]
55 .fi
57 .LP
58 .nf
59 \fB/usr/xpg6/bin/crontab\fR [\fIfilename\fR]
60 .fi
62 .LP
63 .nf
64 \fB/usr/xpg6/bin/crontab\fR \fB-e\fR [\fIusername\fR]
65 .fi
67 .LP
68 .nf
69 \fB/usr/xpg6/bin/crontab\fR \fB-l\fR [\fIusername\fR]
70 .fi
72 .LP
73 .nf
74 \fB/usr/xpg6/bin/crontab\fR \fB-r\fR [\fIusername\fR]
75 .fi
77 .SH DESCRIPTION
78 .LP
79 The \fBcrontab\fR utility manages a user's access with \fBcron\fR (see
80 \fBcron\fR(1M)) by copying, creating, listing, and removing \fBcrontab\fR
81 files. If invoked without options, \fBcrontab\fR copies the specified file, or
82 the standard input if no file is specified, into a directory that holds all
83 users' crontabs.
84 .sp
85 .LP
86 If \fBcrontab\fR is invoked with \fIfilename\fR, this overwrites an existing
87 \fBcrontab\fR entry for the user that invokes it.
88 .SS "\fBcrontab\fR Access Control"
89 .LP
90 Users: Access to \fBcrontab\fR is allowed:
91 .RS +4
92 .TP
93 .ie t \(bu
94 .el o
95 if the user's name appears in \fB/etc/cron.d/cron.allow\fR.
96 .RE
97 .RS +4
98 .TP
99 .ie t \(bu
100 .el o
101 if \fB/etc/cron.d/cron.allow\fR does not exist and the user's name is not in
102 \fB/etc/cron.d/cron.deny\fR.
106 Users: Access to \fBcrontab\fR is denied:
107 .RS +4
109 .ie t \(bu
110 .el o
111 if \fB/etc/cron.d/cron.allow\fR exists and the user's name is not in it.
113 .RS +4
115 .ie t \(bu
116 .el o
117 if \fB/etc/cron.d/cron.allow\fR does not exist and user's name is in
118 \fB/etc/cron.d/cron.deny\fR.
120 .RS +4
122 .ie t \(bu
123 .el o
124 if neither file exists, only a user with the \fBsolaris.jobs.user\fR
125 authorization is allowed to submit a job.
127 .RS +4
129 .ie t \(bu
130 .el o
131 if Auditing is enabled, the user's shell is not audited and the user is
132 not the \fBcrontab\fR owner. This can occur if the user logs in by way of a
133 program, such as some versions of \fBSSH\fR, which does not set audit
134 parameters.
138 The rules for \fBallow\fR and \fBdeny\fR apply to \fBroot\fR only if the
139 \fBallow\fR/\fBdeny\fR files exist.
142 The \fBallow\fR/\fBdeny\fR files consist of one user name per line.
143 .SS "\fBcrontab\fR Entry Format"
145 A \fBcrontab\fR file consists of lines of six fields each. The fields are
146 separated by spaces or tabs. The first five are integer patterns that specify
147 the following:
149 .in +2
151 minute (0\(mi59),
152 hour (0\(mi23),
153 day of the month (1\(mi31),
154 month of the year (1\(mi12),
155 day of the week (0\(mi6 with 0=Sunday).
157 .in -2
162 Each of these patterns can be either an asterisk (meaning all legal values) or
163 a list of elements separated by commas. An element is either a number or two
164 numbers separated by a minus sign (meaning an inclusive range). Time specified
165 here is interpreted in the currently active timezone. At the top of the crontab
166 file this is the timezone which is set system-wide in /etc/default/init. A user
167 can add a line such as:
169 .in +2
171 TZ=\fItimezone\fR
173 .in -2
178 \&...and all subsequent entries will be interpreted using that timezone, until
179 a new \fBTZ=\fR\fItimezone\fR line is encountered. The specification of days
180 can be made by two fields (day of the month and day of the week). Both are
181 adhered to if specified as a list of elements. See \fBEXAMPLES\fR.
184 The sixth field of a line in a \fBcrontab\fR file is a string that is executed
185 by the shell at the specified times. A percent character in this field (unless
186 escaped by \fB\e\fR\|) is translated to a \fINEWLINE\fR character.
189 Only the first line (up to a \fB`\|%\|'\fR or end of line) of the command field
190 is executed by the shell. Other lines are made available to the command as
191 standard input. Any blank line or line beginning with a \fB`\|#\|'\fR is a
192 comment and is ignored.
195 The shell is invoked from your $HOME directory. As with $TZ, both $SHELL and
196 $HOME can be set by having a line such as:
198 .in +2
200 SHELL=/usr/bin/\fIsomeshell\fR
202 .in -2
207 \&...or:
209 .in +2
211 HOME=\fIsomedirectory\fR
213 .in -2
218 \&...which will take precedence for all the remaining entries in the
219 \fBcrontab\fR or until there is another \fBHOME\fR or \fBSHELL\fR entry. It is
220 invoked with an \fBarg0\fR of the basename of the $SHELL that is currently in
221 effect. A user who wants to have his \fB\&.profile\fR or equivalent file
222 executed must  explicitly do so in the \fBcrontab\fR file. \fBcron\fR supplies
223 a default environment for every shell, defining HOME, LOGNAME, SHELL, TZ, and
224 PATH. The default PATH for user \fBcron\fR jobs is \fB/usr/bin\fR; while root
225 \fBcron\fR jobs default to \fB/usr/sbin:/usr/bin\fR. The default PATH can be
226 set in \fB/etc/default/cron\fR (see \fBcron\fR(1M)). The TZ, HOME, and SHELL
227 environment variables are set to match those that are in effect in the
228 \fBcrontab\fR file at the time.
231 If you do not redirect the standard output and standard error of your commands,
232 any generated output or errors are mailed to you.
233 .SS "\fBcrontab\fR Environment Variables"
235 The following variables are supported:
237 .ne 2
239 \fB\fBHOME\fR\fR
241 .sp .6
242 .RS 4n
243 Allows the user to choose and alternative directory for cron to change
244 directory to prior to running the command. For example:
246 .in +2
248 HOME=/var/tmp
250 .in -2
256 .ne 2
258 \fB\fBSHELL\fR\fR
260 .sp .6
261 .RS 4n
262 The name of the shell to use to run subsequent commands. For example:
264 .in +2
266 SHELL=/usr/bin/ksh
268 .in -2
274 .ne 2
276 \fB\fBTZ\fR\fR
278 .sp .6
279 .RS 4n
280 Allows the user to choose the timezone in which the \fBcron\fR entries are run.
281 This effects both the environment of the command that is run and the timing of
282 the entry. For example, to have your entries run using the timezone for
283 Iceland, use:
285 .in +2
287 TZ=Iceland
289 .in -2
296 Each of these variables affects all of the lines that follow it in the
297 \fBcrontab\fR file, until it is reset by a subsequent line resetting that
298 variable. Hence, it is possible to have multiple timezones supported within a
299 single \fBcrontab\fR file.
302 The lines that are not setting these environment variables are  the same as
303 crontab entries that conform to the UNIX standard and are described elsewhere
304 in this man page.
305 .SS "Setting \fBcron\fR Jobs Across Timezones"
307 The default timezone of the \fBcron\fR daemon sets the system-wide timezone for
308 \fBcron\fR entries. This, in turn, is by set by default system-wide using
309 \fB/etc/default/init\fR.
312 If some form of \fBdaylight savings\fR or \fBsummer/winter time\fR is in
313 effect, then jobs scheduled during the switchover period could be executed
314 once, twice, or not at all.
315 .SH OPTIONS
317 The following options are supported:
319 .ne 2
321 \fB\fB-e\fR\fR
323 .RS 6n
324 Edits a copy of the current user's \fBcrontab\fR file, or creates an empty file
325 to edit if \fBcrontab\fR does not exist. When editing is complete, the file is
326 installed as the user's \fBcrontab\fR file.
328 The environment variable \fBEDITOR\fR determines which editor is invoked with
329 the \fB-e\fR option. All \fBcrontab\fR jobs should be submitted using
330 \fBcrontab\fR. Do not add jobs by just editing the \fBcrontab\fR file, because
331 \fBcron\fR is not aware of changes made this way.
333 If all lines in the \fBcrontab\fR file are deleted, the old \fBcrontab\fR file
334 is restored. The correct way to delete all lines is to remove the \fBcrontab\fR
335 file using the \fB-r\fR option.
337 If \fIusername\fR is specified, the specified user's \fBcrontab\fR file is
338 edited, rather than the current user's \fBcrontab\fR file. This can only be
339 done by root or by a user with the \fBsolaris.jobs.admin\fR authorization.
343 .ne 2
345 \fB\fB-l\fR\fR
347 .RS 6n
348 Lists the \fBcrontab\fR file for the invoking user. Only root or a user with
349 the \fBsolaris.jobs.admin\fR authorization can specify a username following the
350 \fB-l\fR option to list the \fBcrontab\fR file of the specified user.
354 .ne 2
356 \fB\fB-r\fR\fR
358 .RS 6n
359 Removes a user's \fBcrontab\fR from the \fBcrontab\fR directory. Only root or a
360 user with the \fBsolaris.jobs.admin\fR authorization can specify a username
361 following the \fB-r\fR option to remove the \fBcrontab\fR file of the specified
362 user.
365 .SH EXAMPLES
367 \fBExample 1 \fRCleaning up Core Files
370 This example cleans up \fBcore\fR files every weekday morning at 3:15 am:
373 .in +2
375 \fB15 3 * * 1-5 find $HOME\fR \fB-name\fR\fBcore 2>/dev/null | xargs rm\fR \fB-f\fR
377 .in -2
381 \fBExample 2 \fRMailing a Birthday Greeting
384 This example mails a birthday greeting:
387 .in +2
389 \fB0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.\fR
391 .in -2
395 \fBExample 3 \fRSpecifying Days of the Month and Week
398 This example runs a command on the first and fifteenth of each month, as well
399 as on every Monday:
402 .in +2
404 \fB0 0 1,15 * 1\fR
406 .in -2
411 To specify days by only one field, the other field should be set to *. For
412 example:
415 .in +2
417 \fB0 0 * * 1\fR
419 .in -2
424 would run a command only on Mondays.
427 \fBExample 4 \fRUsing Environment Variables
430 The following entries take advantage of \fBcrontab\fR support for certain
431 environment variables.
434 .in +2
436 TZ=GMT
437 HOME=/local/home/user
438 SHELL=/usr/bin/ksh
439 0 0 * * * echo $(date) >        midnight.GMT
440 TZ=PST
441 0 0 * * * echo $(date) >        midnight.PST
442 TZ=EST
443 HOME=/local/home/myuser
444 SHELL=/bin/csh
446 .in -2
451 The preceding entries allow two jobs to run. The first one would run at
452 midnight in the GMT timezone and the second would run at midnight in the PST
453 timezone. Both would be run in the directory \fB/local/home/user\fR using the
454 Korn shell. The file concludes with \fBTZ\fR, \fBHOME\fR, and \fBSHELL\fR
455 entries that return those variable to their default values.
457 .SH ENVIRONMENT VARIABLES
459 See \fBenviron\fR(5) for descriptions of the following environment variables
460 that affect the execution of \fBcrontab\fR: \fBLANG\fR, \fBLC_ALL\fR,
461 \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
462 .SS "\fB/usr/bin/crontab\fR"
463 .ne 2
465 \fB\fBEDITOR\fR\fR
467 .RS 10n
468 Determine the editor to be invoked when the \fB-e\fR option is specified. This
469 is overridden by the \fBVISUAL\fR environmental variable. The default editor is
470 \fBvi\fR(1).
474 .ne 2
476 \fB\fBPATH\fR\fR
478 .RS 10n
479 The \fBPATH\fR in \fBcrontab\fR's environment specifies the search path used to
480 find the editor.
484 .ne 2
486 \fB\fBVISUAL\fR\fR
488 .RS 10n
489 Determine the visual editor to be invoked when the \fB-e\fR option is
490 specified. If \fBVISUAL\fR is not specified, then the environment variable
491 \fBEDITOR\fR is used. If that is not set, the default is \fBvi\fR(1).
494 .SS "\fB/usr/xpg4/bin/crontab\fR"
495 .ne 2
497 \fB\fBEDITOR\fR\fR
499 .RS 10n
500 Determine the editor to be invoked when the \fB-e\fR option is specified. The
501 default editor is \fB/usr/xpg4/bin/vi\fR.
504 .SS "\fB/usr/xpg6/bin/crontab\fR"
505 .ne 2
507 \fB\fBEDITOR\fR\fR
509 .RS 10n
510 Determine the editor to be invoked when the \fB-e\fR option is specified. The
511 default editor is \fB/usr/xpg6/bin/vi\fR.
514 .SH EXIT STATUS
516 The following exit values are returned:
518 .ne 2
520 \fB\fB0\fR\fR
522 .RS 6n
523 Successful completion.
527 .ne 2
529 \fB\fB>0\fR\fR
531 .RS 6n
532 An error occurred.
535 .SH FILES
536 .ne 2
538 \fB\fB/etc/cron.d\fR\fR
540 .RS 28n
541 main cron directory
545 .ne 2
547 \fB\fB/etc/cron.d/cron.allow\fR\fR
549 .RS 28n
550 list of allowed users
554 .ne 2
556 \fB\fB/etc/default/cron\fR\fR
558 .RS 28n
559 contains cron default settings
563 .ne 2
565 \fB\fB/etc/cron.d/cron.deny\fR\fR
567 .RS 28n
568 list of denied users
572 .ne 2
574 \fB\fB/var/cron/log\fR\fR
576 .RS 28n
577 accounting information
581 .ne 2
583 \fB\fB/var/spool/cron/crontabs\fR\fR
585 .RS 28n
586 spool area for \fBcrontab\fR
589 .SH ATTRIBUTES
591 See \fBattributes\fR(5) for descriptions of the following attributes:
592 .SS "\fB/usr/bin/crontab\fR"
595 box;
596 c | c
597 l | l .
598 ATTRIBUTE TYPE  ATTRIBUTE VALUE
600 Interface Stability     Standard
603 .SS "\fB/usr/xpg4/bin/crontab\fR"
606 box;
607 c | c
608 l | l .
609 ATTRIBUTE TYPE  ATTRIBUTE VALUE
611 Interface Stability     Standard
614 .SS "\fB/usr/xpg6/bin/crontab\fR"
617 box;
618 c | c
619 l | l .
620 ATTRIBUTE TYPE  ATTRIBUTE VALUE
622 Interface Stability     Standard
625 .SH SEE ALSO
627 \fBatq\fR(1), \fBatrm\fR(1), \fBauths\fR(1), \fBed\fR(1), \fBsh\fR(1),
628 \fBvi\fR(1), \fBcron\fR(1M), \fBsu\fR(1M), \fBauth_attr\fR(4),
629 \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)
630 .SH NOTES
632 If you inadvertently enter the \fBcrontab\fR command with no arguments, do not
633 attempt to get out with Control-d. This removes all entries in your
634 \fBcrontab\fR file. Instead, exit with Control-c.
637 When updating \fBcron\fR, check first for existing \fBcrontab\fR entries that
638 can be scheduled close to the time of the update. Such entries can be lost if
639 the update process completes after the scheduled event. This can happen
640 because, when \fBcron\fR is notified by \fBcrontab\fR to update the internal
641 view of a user's \fBcrontab\fR file, it first removes the user's existing
642 internal \fBcrontab\fR and any internal scheduled events. Then it reads the new
643 \fBcrontab\fR file and rebuilds the internal \fBcrontab\fR and events. This
644 last step takes time, especially with a large \fBcrontab\fR file, and can
645 complete \fBafter\fR an existing \fBcrontab\fR entry is scheduled to run if it
646 is scheduled too close to the update. To be safe, start a new job at least 60
647 seconds after the current date and time.
650 If an authorized user other than root modifies another user's \fBcrontab\fR
651 file, the resulting behavior can be unpredictable. Instead, the authorized user
652 should first use \fBsu\fR(1M) to become superuser to the other user's login
653 before making any changes to the \fBcrontab\fR file.
656 Care should be taken when adding \fBTZ\fR, \fBSHELL\fR and \fBHOME\fR variables
657 to the \fBcrontab\fR  file when the \fBcrontab\fR file could be shared with
658 applications that do not expect those variables to be changed from the default.
659 Resetting the values to their defaults at the bottom of the file will minimize
660 the risk of problems.