Back to main site | Back to man page index

ANACRON(8)                                      System Administration                                      ANACRON(8)



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 con‐
       tains 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  com‐
       mand, 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 pro‐
       tect 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 vari‐
       able  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.
       -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/zone‐
       info/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.

SEE ALSO
       anacrontab(5), cron(8), tzset(3)

       The Anacron README file.

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 concurent jobs anacron may run.

       Mail comments, suggestions and bug reports to Sean 'Shaleh' Perry ⟨shaleh@(debian.org|valinux.com)⟩.

AUTHOR
       Anacron was originally conceived and implemented by Christian Schwarz ⟨[email protected]⟩.

       The current implementation is a complete rewrite by Itai Tzur ⟨[email protected]⟩.

       The code base was maintained by Sean 'Shaleh' Perry ⟨shaleh@(debian.org|valinux.com)⟩.

       Since 2004, it is maintained by Pascal Hakim ⟨pasc@(debian.org|redellipse.net)⟩.

       For Fedora, Anacron is maintained by Marcela MaÅ¡láÅovà ⟨[email protected]⟩.