Jump to content

Anacron: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
mNo edit summary
m copyedit
Line 1: Line 1:
{{lowercase}}
{{lowercase}}
'''anacron''' is a [[computer program]] that performs periodic command scheduling which is traditionally done by [[cron]], but without assuming that the system is running continuously. Thus, it can be used to control the execution of daily, weekly, and monthly jobs (or anything with a period of n days), on systems that don't run 24 hours a day. anacron was originally conceived and implemented by Christian Schwarz in Perl, for the [[Unix]] [[operating system]]. The current implementation, in [[C (programming language)|C]], was written by Itai Tzur and is actively maintained by Sean 'Shaleh' Perry.
'''anacron''' is a [[computer program]] that performs periodic command scheduling which is traditionally done by [[cron]], but without assuming that the system is running continuously. Thus, it can be used to control the execution of daily, weekly, and monthly jobs (or anything with a period of n days) on systems that don't run 24 hours a day. anacron was originally conceived and implemented by Christian Schwarz in Perl, for the [[Unix]] [[operating system]]. The current implementation, in [[C (programming language)|C]], was written by Itai Tzur and is actively maintained by Sean 'Shaleh' Perry.


== Advantages ==
== Advantages ==
Line 8: Line 8:
With [[cron]], often these tasks are scheduled to be executed overnight or another low-usage time to avoid straining the system. If the system is turned off at the time a given task should have been run, it will not be executed for that iteration.
With [[cron]], often these tasks are scheduled to be executed overnight or another low-usage time to avoid straining the system. If the system is turned off at the time a given task should have been run, it will not be executed for that iteration.


In contrast, anacron makes sure that these commands are run at the specified intervals as closely as machine uptime permits. It is an ideal cron-complement (it requires cron) for Laptop and Home-PC users for daily / each n-th day / monthly,... tasks.
In contrast, anacron makes sure that these commands are run at the specified intervals as closely as machine uptime permits. It is a cron-complement (it requires cron) for laptop and home PC users for periodic tasks.


== Drawbacks ==
== Drawbacks ==

Revision as of 14:29, 19 January 2009

anacron is a computer program that performs periodic command scheduling which is traditionally done by cron, but without assuming that the system is running continuously. Thus, it can be used to control the execution of daily, weekly, and monthly jobs (or anything with a period of n days) on systems that don't run 24 hours a day. anacron was originally conceived and implemented by Christian Schwarz in Perl, for the Unix operating system. The current implementation, in C, was written by Itai Tzur and is actively maintained by Sean 'Shaleh' Perry.

Advantages

Most Unix systems are set up to run "housekeeping chores" such as log-rotation, unused files deletion, indexing local files for the search engine, etc.

With cron, often these tasks are scheduled to be executed overnight or another low-usage time to avoid straining the system. If the system is turned off at the time a given task should have been run, it will not be executed for that iteration.

In contrast, anacron makes sure that these commands are run at the specified intervals as closely as machine uptime permits. It is a cron-complement (it requires cron) for laptop and home PC users for periodic tasks.

Drawbacks

Only the system administrator can configure anacron tasks. In contrast, cron allows non-admin users to configure scheduled tasks. If necessary, a non-admin user can use the at Unix command to request a scheduled task (which is guaranteed to run). Upon starting, this command can then automatically request to run itself at a future date, thus giving the appearance of a regularly scheduled task, with guaranteed execution.

anacron can only run tasks once a day (or less often such as weekly or monthly). In contrast, cron allows tasks to run as often as every minute (but does not guarantee their execution if the system goes down). In practice, this is not usually an issue, since it is rare to have a task that must be guaranteed to run more often than (at least) once a day — especially on a system that is not necessarily running at all times.

If the system is rebooted or started after midnight, the daily tasks are run after a user-specified delay in synchronized fashion (sequential order), so only one anacron-task is running at a time, when it finished, the next starts and so on.

This behaviour can be overridden to allow concurrent (parallel) tasks, too, but can consume system resources that are needed by the user to do work. In contrast cron will only run daily tasks at the time set (e.g. in the middle of the night, when presumably the machine is not being used).

Another popular implementation is fcron which basically does everything Vixie cron and anacron can do in a single program.

See also