Provided by: manpages-posix_2.16-1_all bug

NAME

       crontab - schedule periodic background work

SYNOPSIS

       crontab [file]

       crontab [ -e | -l | -r ]

DESCRIPTION

       The  crontab  utility shall create, replace, or edit a user's crontab entry; a crontab entry is a list of
       commands and the times at which they shall be executed. The new crontab entry can be input by  specifying
       file  or  input  from  standard  input  if  no file operand is specified, or by using an editor, if -e is
       specified.

       Upon execution of a command from a crontab entry, the implementation shall supply a default  environment,
       defining at least the following environment variables:

       HOME   A pathname of the user's home directory.

       LOGNAME
              The user's login name.

       PATH   A string representing a search path guaranteed to find all of the standard utilities.

       SHELL  A  pathname  of  the  command  interpreter. When crontab is invoked as specified by this volume of
              IEEE Std 1003.1-2001, the value shall be a pathname for sh.

       The values of these variables when crontab is invoked as specified by this volume of IEEE Std 1003.1-2001
       shall not affect the default values provided when the scheduled command is run.

       If standard output and standard error are not redirected by commands executed from the crontab entry, any
       generated output or errors shall be mailed, via an implementation-defined method, to the user.

       Users shall be permitted to use crontab if their names appear in the  file  /usr/lib/cron/cron.allow.  If
       that file does not exist, the file /usr/lib/cron/cron.deny shall be checked to determine whether the user
       shall  be  denied  access  to crontab. If neither file exists, only a process with appropriate privileges
       shall be allowed to submit a job. If only cron.deny exists and is empty, global usage shall be permitted.
       The cron.allow and cron.deny files shall consist of one user name per line.

OPTIONS

       The crontab utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001,  Section  12.2,
       Utility Syntax Guidelines.

       The following options shall be supported:

       -e     Edit  a copy of the invoking user's crontab entry, or create an empty entry to edit if the crontab
              entry does not exist. When editing is complete, the entry shall be installed as the user's crontab
              entry.

       -l     (The letter ell.) List the invoking user's crontab entry.

       -r     Remove the invoking user's crontab entry.

OPERANDS

       The following operand shall be supported:

       file   The pathname of a file that contains specifications, in the format  defined  in  the  INPUT  FILES
              section, for crontab entries.

STDIN

       See the INPUT FILES section.

INPUT FILES

       In  the POSIX locale, the user or application shall ensure that a crontab entry is a text file consisting
       of lines of six fields each. The fields shall be separated by <blank>s. The first five  fields  shall  be
       integer patterns that specify the following:

        1. Minute [0,59]

        2. Hour [0,23]

        3. Day of the month [1,31]

        4. Month of the year [1,12]

        5. Day of the week ([0,6] with 0=Sunday)

       Each  of  these  patterns  can be either an asterisk (meaning all valid values), an element, or a list of
       elements separated by commas. An element shall be either a number or two numbers separated  by  a  hyphen
       (meaning  an  inclusive range). The specification of days can be made by two fields (day of the month and
       day of the week).  If month, day of month, and day of week are all asterisks, every day shall be matched.
       If either the month or day of month is specified as an element or  list,  but  the  day  of  week  is  an
       asterisk,  the  month and day of month fields shall specify the days that match. If both month and day of
       month are specified as an asterisk, but day of week is an element or list, then only the  specified  days
       of  the  week match. Finally, if either the month or day of month is specified as an element or list, and
       the day of week is also specified as an element or list, then any day matching either the month  and  day
       of month, or the day of week, shall be matched.

       The  sixth  field  of a line in a crontab entry is a string that shall be executed by sh at the specified
       times. A percent sign character in this field shall be translated to a <newline>. Any character  preceded
       by  a  backslash  (including the '%' ) shall cause that character to be treated literally. Only the first
       line (up to a '%' or end-of-line) of the command field shall be executed by the command interpreter.  The
       other lines shall be made available to the command as standard input.

       Blank lines and those whose first non- <blank> is '#' shall be ignored.

       The  text  files  /usr/lib/cron/cron.allow  and  /usr/lib/cron/cron.deny  shall contain zero or more user
       names, one per line, of users  who  are,  respectively,  authorized  or  denied  access  to  the  service
       underlying the crontab utility.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of crontab:

       EDITOR Determine  the  editor to be invoked when the -e option is specified.  The default editor shall be
              vi.

       LANG   Provide a default value for the internationalization variables that are unset or  null.  (See  the
              Base  Definitions  volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization Variables for
              the  precedence  of  internationalization  variables  used  to  determine  the  values  of  locale
              categories.)

       LC_ALL If  set  to  a  non-empty  string value, override the values of all the other internationalization
              variables.

       LC_CTYPE
              Determine the locale for the interpretation of sequences of bytes of text data as characters  (for
              example, single-byte as opposed to multi-byte characters in arguments and input files).

       LC_MESSAGES
              Determine  the locale that should be used to affect the format and contents of diagnostic messages
              written to standard error.

       NLSPATH
              Determine the location of message catalogs for the processing of LC_MESSAGES .

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       If the -l option is specified, the crontab entry shall be written to the standard output.

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0     Successful completion.

       >0     An error occurred.

CONSEQUENCES OF ERRORS

       The user's crontab entry is not submitted, removed, edited, or listed.

       The following sections are informative.

APPLICATION USAGE

       The format of the crontab entry shown here is guaranteed only for the POSIX locale. Other cultures may be
       supported with substantially different interfaces, although implementations  are  encouraged  to  provide
       comparable levels of functionality.

       The  default  settings of the HOME , LOGNAME , PATH , and SHELL variables that are given to the scheduled
       job are not affected by the settings of those  variables  when  crontab  is  run;  as  stated,  they  are
       defaults.  The  text  about  "invoked as specified by this volume of IEEE Std 1003.1-2001" means that the
       implementation may provide extensions that allow these variables to be affected at runtime, but that  the
       user  has  to  take  explicit  action in order to access the extension, such as give a new option flag or
       modify the format of the crontab entry.

       A typical user error is to type only crontab; this causes the system to wait for the new crontab entry on
       standard input.  If end-of-file is typed (generally <control>-D), the crontab entry  is  replaced  by  an
       empty  file. In this case, the user should type the interrupt character, which prevents the crontab entry
       from being replaced.

EXAMPLES

        1. Clean up core files every weekday morning at 3:15 am:

           15 3 * * 1-5 find $HOME -name core 2>/dev/null | xargs rm -f

        2. Mail a birthday greeting:

           0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.

        3. As an example of specifying the two types of days:

           0 0 1,15 * 1

       would run a command on the first and fifteenth of each month, as well as on every Monday. 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.

RATIONALE

       All references to a cron daemon and to cron files have been omitted. Although historical  implementations
       have used this arrangement, there is no reason to limit future implementations.

       This  description  of crontab is designed to support only users with normal privileges. The format of the
       input is based on the System V crontab; however, there is no requirement  here  that  the  actual  system
       database  used  by  the  cron  daemon  (or  a similar mechanism) use this format internally. For example,
       systems derived from BSD are likely to have an additional field appended that indicates the user identity
       to be used when the job is submitted.

       The -e option was adopted from the SVID as a  user  convenience,  although  it  does  not  exist  in  all
       historical implementations.

FUTURE DIRECTIONS

       None.

SEE ALSO

       at

COPYRIGHT

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard  for  Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc and The Open Group. In the event of any discrepancy between this version 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 .

IEEE/The Open Group                                   2003                                            CRONTAB(P)