cron - daemon to execute scheduled commands (Vixie Cron)


   cron [-f] [-l] [-L loglevel]


   cron  is  started automatically from /etc/init.d on entering multi-user


   -f      Stay in foreground mode, don't daemonize.

   -l      Enable LSB compliant names for /etc/cron.d files. This setting,
           however,   does   not   affect   the  parsing  of  files  under
           /etc/cron.hourly,    /etc/cron.daily,    /etc/cron.weekly    or

   -n      Include the FQDN in the subject when sending mails. By default,
           cron will abbreviate the hostname.

   -L loglevel
           Tell cron what to log about jobs (errors are logged  regardless
           of this value) as the sum of the following values:

               1      will log the start of all cron jobs

               2      will log the end of all cron jobs

               4      will log all failed jobs (exit status != 0)

               8      will log the process number of all cron jobs

           The  default  is to log the start of all jobs (1). Logging will
           be disabled if levels is set to zero (0). A  value  of  fifteen
           (15) will select all options.


   cron  searches  its  spool  area (/var/spool/cron/crontabs) for crontab
   files (which are named after accounts in /etc/passwd);  crontabs  found
   are  loaded  into  memory.  Note that crontabs in this directory should
   not be accessed directly - the crontab command should be used to access
   and update them.

   cron  also  reads /etc/crontab, which is in a slightly different format
   (see crontab(5)).  In Debian, the content of /etc/crontab is predefined
   to    run    programs    under    /etc/cron.hourly,    /etc/cron.daily,
   /etc/cron.weekly and /etc/cron.monthly. This configuration is  specific
   to Debian, see the note under DEBIAN SPECIFIC below.

   Additionally,  in  Debian,  cron  reads  the  files  in the /etc/cron.d
   directory.  cron treats the files in /etc/cron.d as in the same way  as
   the  /etc/crontab  file  (they  follow the special format of that file,
   i.e. they include the user field). However,  they  are  independent  of
   /etc/crontab:  they  do  not, for example, inherit environment variable
   settings from it. This change is specific to Debian see the note  under

   Like /etc/crontab, the files in the /etc/cron.d directory are monitored
   for changes. In  general,  the  system  administrator  should  not  use
   /etc/cron.d/, but use the standard system crontab /etc/crontab.

   /etc/crontab  and  the  files in /etc/cron.d must be owned by root, and
   must not be group- or other-writable. In contrast to  the  spool  area,
   the  files  under  /etc/cron.d  or  the  files  under /etc/cron.hourly,
   /etc/cron.daily, /etc/cron.weekly and  /etc/cron.monthly  may  also  be
   symlinks,  provided that both the symlink and the file it points to are
   owned by  root.   The  files  under  /etc/cron.d  do  not  need  to  be
   executable,  while  the  files under /etc/cron.hourly, /etc/cron.daily,
   /etc/cron.weekly and /etc/cron.monthly do, as they are run by run-parts
   (see run-parts(8) for more information).

   cron  then  wakes  up  every  minute,  examining  all  stored crontabs,
   checking each command to see if it should be run in the current minute.
   When  executing  commands,  any  output  is  mailed to the owner of the
   crontab (or to the user named in the MAILTO environment variable in the
   crontab,  if  such  exists).  The children copies of cron running these
   processes have their name coerced to uppercase, as will be seen in  the
   syslog and ps output.

   Additionally,  cron  checks each minute to see if its spool directory's
   modtime (or the modtime on the /etc/crontab file) has changed,  and  if
   it  has,  cron  will then examine the modtime on all crontabs files and
   reload those which have changed.   Thus  cron  need  not  be  restarted
   whenever  a crontab file is modified.  Note that the crontab(1) command
   updates the modtime of  the  spool  directory  whenever  it  changes  a

   Special  considerations  exist when the clock is changed by less than 3
   hours, for example at the beginning and end of daylight  savings  time.
   If  the time has moved forwards, those jobs which would have run in the
   time that was skipped will be run soon after the  change.   Conversely,
   if  the  time has moved backwards by less than 3 hours, those jobs that
   fall into the repeated time will not be re-run.

   Only jobs that run at a particular time (not specified as @hourly,  nor
   with  '*' in the hour or minute specifier) are affected. Jobs which are
   specified with wildcards are run based on the new time immediately.

   Clock changes of more than 3 hours are considered to be corrections  to
   the clock, and the new time is used immediately.

   cron  logs its action to the syslog facility 'cron', and logging may be
   controlled using the standard syslogd(8) facility.


   If configured in /etc/default/cron in Debian systems, the  cron  daemon
   localisation  settings  environment  can  be managed through the use of
   /etc/environment or through the use of /etc/default/locale with  values
   from the latter overriding values from the former. These files are read
   and they  will  be  used  to  setup  the  LANG,  LC_ALL,  and  LC_CTYPE
   environment variables. These variables are then used to set the charset
   of mails, which defaults to 'C'.

   This does NOT affect the environment of tasks running under  cron.  For
   more  information  on  how  to modify the environment of tasks, consult

   The daemon will use, if present, the definition from /etc/timezone  for
   the timezone.

   The environment can be redefined in user's crontab definitions but cron
   will only handle tasks in a single timezone.


   Debian introduces  some  changes  to  cron  that  were  not  originally
   available upstream. The most significant changes introduced are:

   ---      Support    for    /etc/cron.{hourly,daily,weekly,monthly}    via

   ---      Support for /etc/cron.d (drop-in dir for package crontabs),

   ---      PAM support,

   ---      SELinux support,

   ---      auditlog support,

   ---      DST and other time-related changes/fixes,

   ---      SGID crontab(1) instead of SUID root,

   ---      Debian-specific file locations and commands,

   ---      Debian-specific configuration (/etc/default/cron),

   ---      numerous other smaller features and fixes.

   Support for  /etc/cron.hourly,  /etc/cron.daily,  /etc/cron.weekly  and
   /etc/cron.monthly  is provided in Debian through the default setting of
   the /etc/crontab file (see the system-wide example in crontab(5)).  The
   default  system-wide crontab contains four tasks: run every hour, every
   day, every week and every month. Each of these tasks will execute  run-
   parts providing each one of the directories as an argument. These tasks
   are disabled if anacron is installed (except for the  hourly  task)  to
   prevent conflicts between both daemons.

   As  described  above, the files under these directories have to be pass
   some sanity checks including the following: be executable, be owned  by
   root,  not  be  writable  by  group or other and, if symlinks, point to
   files owned by root. Additionally, the file names must conform  to  the
   filename  requirements  of  run-parts: they must be entirely made up of
   letters, digits and can only  contain  the  special  signs  underscores
   ('_')  and  hyphens  ('-').  Any  file  that  does not conform to these
   requirements will not be executed by run-parts.  For example, any  file
   containing  dots  will  be  ignored.  This is done to prevent cron from
   running any of the files that are left by the Debian package management
   system when handling files in /etc/cron.d/ as configuration files (i.e.
   files ending in .dpkg-dist, .dpkg-orig, and .dpkg-new).

   This feature can be used  by  system  administrators  and  packages  to
   include  tasks  that will be run at defined intervals. Files created by
   packages in these directories should be named after  the  package  that
   supplies them.

   Support  for  /etc/cron.d  is included in the cron daemon itself, which
   handles this location as the system-wide crontab spool.  This directory
   can  contain  any  file  defining  tasks  following  the format used in
   /etc/crontab, i.e. unlike the user cron spool, these files must provide
   the username to run the task as in the task definition.

   Files  in  this  directory  have to be owned by root, do not need to be
   executable (they are configuration files, just like  /etc/crontab)  and
   must  conform  to  the  same naming convention as used by run-parts(8):
   they must consist solely of  upper-  and  lower-case  letters,  digits,
   underscores, and hyphens. This means that they cannot contain any dots.
   If the -l option is specified to cron (this option can be setup through
   /etc/default/cron,  see  below),  then  they  must  conform  to the LSB
   namespace specification, exactly as in the --lsbsysinit option in  run-

   The  intended purpose of this feature is to allow packages that require
   finer     control      of      their      scheduling      than      the
   /etc/cron.{hourly,daily,weekly,monthly}  directories  to  add a crontab
   file to /etc/cron.d. Such files should be named after the package  that
   supplies them.

   Also,   the   default   configuration   of   cron   is   controlled  by
   /etc/default/cron which is read by the init.d script that launches  the
   cron  daemon.  This file determines whether cron will read the system's
   environment variables and makes it possible to add  additional  options
   to  the  cron  program  before  it is executed, either to configure its
   logging or to define how it will treat the files under /etc/cron.d.


   crontab(1), crontab(5), run-parts(8)


   Paul Vixie <> is the author of cron and original creator of
   this  manual page. This page has also been modified for Debian by Steve
   Greenland, Javier Fernandez-Sanguino and Christian Kastner.

More Linux Commands

Tcl_DictObjRemoveKeyList(3) - manipulate Tcl objects as dict
Tcl dictionary objects have an internal representation that supports efficient mapping from keys to values and which guarantees that the particular ordering of

glRasterPos2f(3gl) - specify the raster position for pixel o
The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is ma

gnutls_x509_crt_set_issuer_dn_by_oid(3) - API function......
This function will set the part of the name of the Certificate issuer, specified by the given OID. The input string should be ASCII or UTF-8 encoded. Some helpe

DBI::Const::GetInfo::ANSI(3pm) - ISO/IEC SQL/CLI Constants f
Information requested by GetInfo(). See: A.1 C header file SQLCLI .H, Page 316, 317. The API for this module is private and subject to change. REFERENCES ISO/IE

curl_global_cleanup(3) - global libcurl cleanup (Man Page)
This function releases resources acquired by curl_global_init(3). You should call curl_global_cleanup(3) once for each call you make to curl_global_init(3), aft

git-fetch-pack(1) - Receive missing objects from another rep
Usually you would want to use git fetch, which is a higher level wrapper of this command, instead. Invokes git-upload-pack on a possibly remote repository and a

clamconf(1) - Clam AntiVirus configuration utility (ManPage)
clamconf displays the values of configuration options. OPTIONS -h, --help Display help and exit. -V, --version Display software version and exit. -c DIR, --conf

ldap_free_urldesc(3) - LDAP Uniform Resource Locator routine
These routines support the use of LDAP URLs (Uniform Resource Locators) as detailed in RFC 4516. LDAP URLs look like this: ldap://hostport/dn[?attrs[?scope[?fil

cvsbug(8) - send problem report (PR) about CVS to a central
cvsbug is a tool used to submit problem reports (PRs) to a central support site. In most cases the correct site will be the default. This argument indicates the

XkbRefreshKeyboardMapping(3) - Update the keyboard descripti
XkbRefreshKeyboardMapping is the Xkb equivalent of the core XRefreshKeyboardMapping function. It requests that the X server send the current key mapping informa

XtUnmapWidget(3) - map and unmap widgets - Linux man page...
If the widget is realized and managed and if the new value of map_when_managed is True, XtSetMappedWhenManaged maps the window. If the widget is realized and ma

Tcl_UtfPrev(3) - routines for manipulating UTF-8 strings....
These routines convert between UTF-8 strings and Tcl_UniChars. A Tcl_UniChar is a Unicode character represented as an unsigned, fixed-size quantity. A UTF-8 cha

We can't live, work or learn in freedom unless the software we use is free.