# cron(8)

    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 following 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 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  crontab(1) to send cron a hangup
                                  signal.

    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 previous 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 running 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)