Provided by: cron_3.0pl1-151ubuntu1_amd64 bug


       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 runlevels.


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

       -P      Don't set PATH for child processes.  Let it inherit instead.

       -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 /etc/cron.monthly.

       -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  DEBIAN  SPECIFIC

       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) from the owner of the crontab (or from the  email
       address  given  in the MAILFROM 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  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 crontab.

       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 crontab(5).

       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 /etc/crontab,

       —      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

       As  described  above,  the  files  under these directories have to 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, .dpkg-old, 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-parts.

       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

       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.