anacron - runs commands periodically
anacron [-s] [-f] [-n] [-d] [-q]
] [ -S spooldir
anacron [-S spooldir] -u [-t anacrontab] [job]
anacron -T [-t anacrontab]
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
Anacron reads a list of jobs from the /etc/anacrontab
). 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
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
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
When there are no more jobs to be run, Anacron exits.
Anacron only considers jobs whose identifier, as specified in
, matches any of 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
options, it starts jobs
immediately when their delay is over. The execution of different jobs is
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
file, if such exists. If the LOGNAME
variable is set, it is used in the From: field of the mail.
Any informative messages generated by Anacron are sent to syslogd(8)
under with facility set to cron
and priority set to
. 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.
- Forces execution of all jobs, ignoring any timestamps.
- Updates the timestamps of all jobs to the current date, but
does not run any.
- Serializes execution of jobs. Anacron does not start a new
job before the previous one finished.
- Runs jobs immediately and ignores the specified delays in
the /etc/anacrontab file. This options implies -s.
- 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.
- Suppresses any messages to standard error. Only applicable
- -t some_anacrontab
- Uses the specified anacrontab, rather than the
/etc/anacrontab default one.
- 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.
- Prints version information, and exits.
- Prints short usage message, and exits.
After receiving a SIGUSR1
signal, Anacron waits for any running jobs to
finish and then exits. This can be used to stop Anacron cleanly.
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.
- Contains specifications of jobs. See anacrontab(5)
for a complete description.
- This directory is used by Anacron for storing timestamp
The Anacron README
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) /
for information how many concurent jobs anacron may run.
Mail comments, suggestions and bug reports to
Anacron was originally conceived and implemented by
The current implementation is a complete rewrite by
The code base was maintained by
Since 2004, it is maintained by
For Fedora, Anacron is maintained by