anacron(8) — Linux manual page


ANACRON(8)                System Administration               ANACRON(8)

NAME         top

       anacron - runs commands periodically

SYNOPSIS         top

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

DESCRIPTION         top

       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         top

       -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

       -V     Prints version information, and exits.

       -h     Prints short usage message, and exits.

SIGNALS         top

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

NOTES         top

       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         top

              Contains specifications of jobs.  See anacrontab(5) for a
              complete description.

              This directory is used by Anacron for storing timestamp

SEE ALSO         top

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

       The Anacron README file.

BUGS         top

       Anacron never removes timestamp files.  Remove unused files

       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

AUTHOR         top

       Anacron was originally conceived and implemented by Christian
       Schwarz ⟨⟩.

       The current implementation is a complete rewrite by Itai Tzur

       The code base was maintained by Sean 'Shaleh' Perry ⟨shaleh@

       Since 2004, it is maintained by Pascal Hakim ⟨pasc@(|⟩.

       For Fedora, Anacron is maintained by Marcela Mašláňová

COLOPHON         top

       This page is part of the cronie (crond daemon) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug
       report for this manual page, see
       ⟨⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨⟩ on 2024-06-14.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2024-05-31.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

cronie                         2012-11-22                     ANACRON(8)

Pages that refer to this page: cronnext(1)anacrontab(5)