Man Linux: Main Page and Category List

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 .