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 .