NAME

     cron - clock daemon


SYNOPSIS

     cron [-d[level]]


DESCRIPTION

     The cron daemon executes tasks that must be  repeated  every
     now  and  then  (cron jobs), and tasks that must be run just
     once (at jobs).  It is normally used to run daily or  weekly
     system  maintenance  scripts.  What it needs to run and when
     is specified in a number of "cron tables", or crontab  files
     for short.  These tables are:

          /usr/lib/crontab
          /usr/local/lib/crontab
          /var/lib/crontab
          /var/opt/name/lib/crontab  (Minix-vmd only)
          /usr/spool/crontabs/user

     These files follow the usual pattern:  One for the  standard
     things,  one for local tasks per organization, one for tasks
     per system, and one crontab per  installed  package.   (Cron
     reads /usr/lib/packages to find names of installed packages,
     it doesn't just grab everything in /var/opt.)  The last  set
     of  files fall outside the normal pattern, they are per user
     crontabs that one can create with  the  crontab(1)  command.
     The  file  names  in /usr/spool/crontabs/ are login names of
     the file owners.

     The format of a crontab file is described in crontab(5).

  AT jobs
     Cron also takes care of the  execution  of  jobs  issued  by
     at(1)  that  are  found in /usr/spool/at/.  Cron simply runs
     the AT job as if there were an "sh at-job" as a cron job  at
     the  appropriate  time under the user-id of the owner of the
     script.  The script takes care of the rest.  See  at(1)  for
     the details.

  Job I/O
     Standard input, output and error are the same as  cron's  if
     the  job  is  started by the system crontabs or from package
     crontabs.  This means that output from system  jobs  usually
     ends  up  on  the  console and in the log file.  Output from
     personal cron jobs or at jobs are mailed to the owner of the
     job.  No mail is sent if the job is silent.


OPTIONS

     [-d[level]]
          Set the debug level, by default 1.   Makes  cron  print
          info  on  what  it  happens  to be doing.  Level 1 just
          tells about sleep times and what job is executed, level
          2 also shows the internal crontab data on a table load.
          (With time fields translated to match those  of  struct
          tm, see ctime(3).)

  SIGNALS
     Cron takes the following actions when sent one of  the  fol-
     lowing signals:

     SIGHUP      Reload the crontab tables if they changed  since
                 the  last  time  they were loaded, and reexamine
                 the AT job spool.  Used by at(1) and crontab(1).

     SIGUSR1     Increase the debug level by 1.

     SIGUSR2     Turn debugging off.


ENVIRONMENT

     Cron sets the environment variables USER, LOGNAME, HOME, and
     SHELL  to  the  user's  login name (2x), home directory, and
     shell if a job is executed for a given  user.   The  working
     directory  is  set to the user's home directory.  Everything
     else is inherited from cron, exactly as cron got it when  it
     started.   Note  that commands are always passed to /bin/sh,
     not to the user's shell.

     System cron jobs  are  in  principle  executed  with  cron's
     environment,    use    -u   root   or   the   crontab   file
     /usr/spool/crontabs/root if you want to give root  the  same
     treatment as ordinary users.


FILES

     /usr/lib/crontab         Main MINIX 3 crontab file.

     /usr/local/lib/crontab   Local jobs for all  systems  in  an
                              organization.

     /var/lib/crontab         System specific jobs.

     /var/opt/name/lib/crontab
                              Per package jobs for Minix-vmd.

     /usr/lib/packages        List of installed packages.

     /usr/spool/crontabs/user Per user jobs.

     /usr/spool/at/*          Jobs issued by at(1).

     /usr/run/cron.pid        Process id of  cron  when  cron  is
                              running.   Used  by at(1) and cron-
                              tab(1) to send cron a  hangup  sig-
                              nal.


SEE ALSO

     at(1), crontab(1).


NOTES

     A job is not reissued until a previous instance  of  it  has
     exited.   The next time to execute is computed from the pre-
     vious time it ran.  If job issuing lags behind on the system
     time  then  the  next  time  to  run it is computed from the
     current system time.


BUGS

     Cron doesn't like it if the system time is changed.  If  set
     forward  then  cron will react when it next wakes up by run-
     ning all jobs within the skipped time once or  twice  before
     it  catches up.  Setting the clock backwards makes cron play
     dead until the system time passes the old  time.   (Changing
     the  system time is bad idea anyway, and not just because of
     cron.)

     Jobs that fall in the missing hour in a change  to  Daylight
     Saving  Time are skipped.  Nothing is done in the extra hour
     on the change out of DST.


AUTHOR

     Kees J. Bot (kjb@cs.vu.nl)