Rev | Author | # | Line |
---|---|---|---|
1 | perry | 1 | !!NAME |
2 | CraigBox | 2 | crontab - tables for driving cron |
1 | perry | 3 | |
4 | !!DESCRIPTION | ||
5 | |||
2 | CraigBox | 6 | A ''crontab'' file contains instructions to the cron(8) daemon of the general form: ''run this command at this time on this date''. |
7 | Each user has their own crontab, and commands in any given crontab will be executed as the user who owns the crontab. Uucp and News | ||
8 | will usually have their own crontabs, eliminating the need for explicitly running su(1) as part of a cron command. | ||
1 | perry | 9 | |
2 | CraigBox | 10 | Blank lines and leading spaces and tabs are ignored. Lines whose first non-space character is a hash-sign (#) are comments, and are |
11 | ignored. Note that comments are not allowed on the same line as cron commands, since they will be taken to be part of the command. | ||
12 | Similarly, comments are not allowed on the same line as environment variable settings. | ||
1 | perry | 13 | |
2 | CraigBox | 14 | An active line in a crontab will be either an environment setting or a cron command. An environment setting is of the form, |
1 | perry | 15 | |
2 | CraigBox | 16 | name = value |
1 | perry | 17 | |
2 | CraigBox | 18 | where the spaces around the equal-sign (=) are optional, and any subsequent non-leading spaces in ''value'' will be part of the value |
19 | assigned to ''name''. The ''value'' string may be placed in quotes (single or double, but matching) to preserve leading or trailing | ||
1 | perry | 20 | blanks. |
21 | |||
2 | CraigBox | 22 | Several environment variables are set up automatically by the cron(8) daemon. SHELL is set to /bin/sh, and LOGNAME and HOME are set |
23 | from the /etc/passwd line of the crontab's owner. PATH is set to "/usr/bin:/bin". HOME, SHELL, and PATH may be overridden by settings | ||
24 | in the crontab; LOGNAME may not. | ||
1 | perry | 25 | |
2 | CraigBox | 26 | (Another note: the LOGNAME variable is sometimes called USER on BSD systems... on these systems, USER will be set also.) |
1 | perry | 27 | |
2 | CraigBox | 28 | In addition to LOGNAME, HOME, and SHELL, cron(8) will look at MAILTO if it has any reason to send mail as a result of running commands |
29 | in ''this'' crontab. If MAILTO is defined (and non-empty), mail is sent to the user so named. If MAILTO is defined but empty | ||
30 | (MAILTO=""), no mail will be sent. Otherwise mail is sent to the owner of the crontab. | ||
1 | perry | 31 | |
2 | CraigBox | 32 | The format of a cron command is very much the V7 standard, with a number of upward-compatible extensions. Each line has five time and |
33 | date fields, followed by a command, followed by a newline character ('0). The system crontab (/etc/crontab) uses the same format, | ||
34 | except that the username for the command is specified after the time and date fields and before the command. Note that if the line | ||
35 | does not have a trailing newline character, the entire line will be silently ignored by both crontab and cron; the command will never | ||
36 | be executed. | ||
1 | perry | 37 | |
38 | |||
2 | CraigBox | 39 | Commands are executed by cron(8) when the minute, hour, and month of year fields match the current time, ''and'' when at least one of |
40 | the two day fields (day of month, or day of week) match the current time (see ''Note'' below). cron(8) examines cron entries once | ||
41 | every minute. The time and date fields are: | ||
1 | perry | 42 | |
2 | CraigBox | 43 | field allowed values |
44 | ----- -------------- | ||
45 | minute 0-59 | ||
46 | hour 0-23 | ||
47 | day of month 1-31 | ||
48 | month 1-12 (or names, see below) | ||
49 | day of week 0-7 (0 or 7 is Sun, or use names) | ||
1 | perry | 50 | |
51 | |||
2 | CraigBox | 52 | A field may be an asterisk (*), which always stands for ''first-last''. |
1 | perry | 53 | |
2 | CraigBox | 54 | Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for |
55 | an ''hours'' entry specifies execution at hours 8, 9, 10 and 11. | ||
1 | perry | 56 | |
2 | CraigBox | 57 | Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: ''1,2,5,9'', ''0-4,8-12''. |
1 | perry | 58 | |
2 | CraigBox | 59 | Step values can be used in conjunction with ranges. Following a range with ''/<number>'' specifies skips of the number's value |
60 | through the range. For example, ''0-23/2'' can be used in the hours field to specify command execution every other hour (the | ||
61 | alternative in the V7 standard is ''0,2,4,6,8,10,12,14,16,18,20,22''). Steps are also permitted after an asterisk, so if | ||
62 | you want to say ''every two hours'', just use ''*/2''. | ||
1 | perry | 63 | |
2 | CraigBox | 64 | Names can also be used for the ''month'' and ''day of week'' fields. Use the first three letters of the particular day or month (case |
65 | doesn't matter). Ranges or lists of names are not allowed. | ||
1 | perry | 66 | |
2 | CraigBox | 67 | The ''sixth'' field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or |
68 | % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the | ||
69 | command, unless escaped with backslash (), will be changed into newline characters, and all data after the first % will be sent to the | ||
70 | command as standard input. | ||
1 | perry | 71 | |
2 | CraigBox | 72 | Note: The day of a command's execution can be specified by two fields -- day of month, and day of week. If both fields are restricted |
73 | (ie, aren't *), the command will be run when ''either'' field matches the current time. For example, ''30 4 1,15 * 5'' would cause a | ||
74 | command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday. | ||
1 | perry | 75 | |
2 | CraigBox | 76 | Instead of the first five fields, one of eight special strings may appear: |
1 | perry | 77 | |
2 | CraigBox | 78 | string meaning |
79 | ------ ------- | ||
80 | @reboot Run once, at startup. | ||
81 | @yearly Run once a year, | ||
82 | @annually (same as @yearly) | ||
83 | @monthly Run once a month, | ||
84 | @weekly Run once a week, | ||
85 | @daily Run once a day, | ||
86 | @midnight (same as @daily) | ||
87 | @hourly Run once an hour, | ||
1 | perry | 88 | |
2 | CraigBox | 89 | ----- |
1 | perry | 90 | |
91 | !!EXAMPLE CRON FILE | ||
92 | |||
2 | CraigBox | 93 | # use /bin/sh to run commands, no matter what /etc/passwd says |
94 | SHELL=/bin/sh | ||
95 | # mail any output to `paul', no matter whose crontab this is | ||
96 | MAILTO=paul | ||
97 | # | ||
98 | # run five minutes after midnight, every day | ||
99 | 5 0 * * * $HOME/bin/daily.job | ||
1 | perry | 100 | |
101 | !!EXAMPLE SYSTEM CRON FILE | ||
102 | |||
2 | CraigBox | 103 | This has the username field, as used by /etc/crontab. |
1 | perry | 104 | |
2 | CraigBox | 105 | # /etc/crontab: system-wide crontab |
106 | # Unlike any other crontab you don't have to run the `crontab' | ||
107 | # command to install the new version when you edit this file. | ||
108 | # This file also has a username field, that none of the other crontabs do. | ||
109 | SHELL=/bin/sh | ||
110 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
111 | # m h dom mon dow usercommand | ||
112 | 42 6 * * * rootrun-parts --report /etc/cron.daily | ||
113 | 47 6 * * 7 rootrun-parts --report /etc/cron.weekly | ||
114 | 52 6 1 * * rootrun-parts --report /etc/cron.monthly | ||
115 | # | ||
116 | # Removed invocation of anacron, as this is now handled by a | ||
117 | # /etc/cron.d file | ||
1 | perry | 118 | |
119 | !!SEE ALSO | ||
120 | |||
2 | CraigBox | 121 | cron(8), crontab(1) |
1 | perry | 122 | |
123 | !!EXTENSIONS | ||
124 | |||
2 | CraigBox | 125 | * When specifying day of week, both day 0 and day 7 will be considered Sunday. BSD and ATT seem to disagree about this. |
126 | * Lists and ranges are allowed to co-exist in the same field. "1-3,7-9" would be rejected by ATT or BSD cron -- they want to see "1-3" or "7,8,9" ONLY. | ||
127 | * Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9". | ||
128 | * Names of months or days of the week can be specified by name. | ||
129 | * Environment variables can be set in the crontab. In BSD or ATT, the environment handed to child processes is basically the one from /etc/rc. | ||
130 | * Command output is mailed to the crontab owner (BSD can't do this), can be mailed to a person other than the crontab owner (SysV can't do this), or the feature can be turned off and no mail will be sent at all (SysV can't do this either). | ||
1 | perry | 131 | |
2 | CraigBox | 132 | All of the `@' commands that can appear in place of the first five fields are extensions. |
1 | perry | 133 | |
134 | !!AUTHOR | ||
135 | |||
136 | Paul Vixie |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 10 times)