# anacron

## NAME



           anacron - runs commands periodically
    


## SYNOPSIS



           **anacron**[**-s**] [**-f**] [**-n**] [**-d**] [**-q**] [**-t anacrontab**] [**-S spooldir**]
           [_job_]
           **anacron**[**-S spooldir**] -u [**-t anacrontab**] [_job_]
           **anacron**[**-V** |**-h**]
           **anacron -T**[**-t anacrontab**]
    


## DESCRIPTION



           **Anacron** is used to execute commands periodically, with a frequency
           specified in days.  Unlike cron(8), it does not assume that the
           machine is running continuously.  Hence, it can be used on
           machines that are not running 24 hours a day to control regular
           jobs as daily, weekly, and monthly jobs.
    
           Anacron reads a list of jobs from the _/etc/anacrontab_
           configuration file (see anacrontab(5)).  This file contains the
           list of jobs that Anacron controls.  Each job entry specifies a
           period in days, a delay in minutes, a unique job identifier, and a
           shell command.
    
           For each job, Anacron checks whether this job has been executed in
           the last **n** days, where **n** is the time period specified for that
           job.  If a job has not been executed in **n** days or more, Anacron
           runs the job's shell command, after waiting for the number of
           minutes specified as the delay parameter.
    
           After the command exits, Anacron records the date (excludes the
           hour) in a special timestamp file for that job, so it knows when
           to execute that job again.
    
           When there are no more jobs to be run, Anacron exits.
    
           Anacron only considers jobs whose identifier, as specified in
           anacrontab(5), matches any of the _job_ command-line arguments.  The
           _job_ command-line arguments can be represented by shell wildcard
           patterns (be sure to protect them from your shell with adequate
           quoting).  Specifying no _job_ command-line arguments is equivalent
           to specifying "*"  (that is, all jobs are considered by Anacron).
    
           Unless Anacron is run with the **-d** option (specified below), it
           forks to the background when it starts, and any parent processes
           exit immediately.
    
           Unless Anacron is run with the **-s** or **-n** options, it starts jobs
           immediately when their delay is over.  The execution of different
           jobs is completely independent.
    
           If an executed job generates any output to standard output or to
           standard error, the output is mailed to the user under whom
           Anacron is running (usually root), or to the address specified in
           the **MAILTO** environment variable in the _/etc/anacrontab_ file, if
           such exists.  If the **LOGNAME** environment variable is set, it is
           used in the From: field of the mail.
    
           Any informative messages generated by Anacron are sent to
           **syslogd**(8) or rsyslogd(8) under with facility set to **cron** and
           priority set to **notice**.  Any error messages are sent with the
           priority **error**.
    
           "Active" jobs (i.e., jobs that Anacron already decided to run and
           are now waiting for their delay to pass, and jobs that are
           currently being executed by Anacron), are "locked", so that other
           copies of Anacron cannot run them at the same time.
    


## OPTIONS



           **-f** Forces execution of all jobs, ignoring any timestamps.
    
           **-u** Updates the timestamps of all jobs to the current date, but
                  does not run any.
    
           **-s** Serializes execution of jobs.  Anacron does not start a new
                  job before the previous one finished.
    
           **-n** Runs jobs immediately and ignores the specified delays in
                  the _/etc/anacrontab_ file.  This options implies **-s**.
    
           **-d** Does not fork Anacron to the background.  In this mode,
                  Anacron will output informational messages to standard
                  error, as well as to syslog.  The output of any job is
                  mailed by Anacron.
    
           **-q** Suppresses any messages to standard error.  Only applicable
                  with **-d**.
    
           **-t some_anacrontab**
                  Uses the specified anacrontab, rather than the
                  _/etc/anacrontab_ default one.
    
           **-T** Anacrontab testing. Tests the _/etc/anacrontab_ configuration
                  file for validity. If there is an error in the file, it is
                  shown on the standard output and Anacron returns the value
                  of 1.  Valid anacrontabs return the value of 0.
    
           **-S spooldir**
                  Uses the specified spooldir to store timestamps in.  This
                  option is required for users who wish to run anacron
                  themselves.
    
           **-V** Prints version information, and exits.
    
           **-h** Prints short usage message, and exits.
    


## SIGNALS



           After receiving a **SIGUSR1** signal, Anacron waits for any running
           jobs to finish and then exits.  This can be used to stop Anacron
           cleanly.
    


## NOTES



           Make sure your time-zone is set correctly before Anacron is
           started since the time-zone affects the date.  This is usually
           accomplished by setting the TZ environment variable, or by
           installing a _/usr/lib/zoneinfo/localtime_ file.  See tzset(3) for
           more information.
    
           Timestamp files are created in the spool directory for each job
           specified in an anacrontab.  These files are never removed
           automatically by Anacron, and should be removed by hand if a job
           is no longer being scheduled.
    


## FILES



           _/etc/anacrontab_
                  Contains specifications of jobs.  See anacrontab(5) for a
                  complete description.
    
           _/var/spool/anacron_
                  This directory is used by Anacron for storing timestamp
                  files.
    


## BUGS



           Anacron never removes timestamp files.  Remove unused files
           manually.
    
           Anacron uses up to two file descriptors for each active job.  It
           may run out of descriptors if there are lots of active jobs.  See
           **echo $(($(ulimit -n) / 2))** for information how many concurrent
           jobs anacron may run.
    
           Mail comments, suggestions and bug reports to Sean 'Shaleh' Perry
           ⟨shaleh@(debian.org|valinux.com)⟩.
    


* * *