Difference between revisions of "Installing a Cron Daemon"

From Funtoo
Jump to: navigation, search
m (Installation)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
 
Cron daemons allow you to configure certain tasks to be run at specific times. Installing a cron daemon is a good idea because some packages may assume that you have a cron daemon installed and create jobs to update their databases with a cron daemon. There are several different loggers available to Funtoo users:
 
Cron daemons allow you to configure certain tasks to be run at specific times. Installing a cron daemon is a good idea because some packages may assume that you have a cron daemon installed and create jobs to update their databases with a cron daemon. There are several different loggers available to Funtoo users:
* '''Fcron'''  
+
* '''{{Package|sys-process/fcron}}''' - "Fcron is a periodical command scheduler  which aims at replacing Vixie Cron, so it implements most of its functionalities." ([http://fcron.free.fr/ Fcron homepage])
* '''Cronie'''
+
* '''{{Package|sys-process/cronie}}''' - "Cronie contains the standard UNIX daemon crond that runs specified programs at scheduled times and related tools. It is based on the original cron and has security and configuration enhancements like the ability to use pam and SELinux." ([https://fedorahosted.org/cronie/ Cronie homepage])
* '''Vixie-Cron'''
+
* '''{{Package|sys-process/vixie-cron}}'''
 +
* '''{{Package|sys-process/incron}}'''
 +
* '''{{Package|sys-process/dcron}}'''
 +
* '''{{Package|sys-process/bcron}}'''
 +
* '''{{Package|sys-process/anacron}}'''
  
 
== Installation ==
 
== Installation ==
To install the cron daemon, run the following command:  
+
To install the cron daemon of your choice, run the following command:  
 
<console>
 
<console>
# ##i## emerge --ask fcron
+
###i## emerge --ask fcron
  
 
These are the packages that would be merged, in order:
 
These are the packages that would be merged, in order:
Line 16: Line 20:
 
[ebuild  N    ] sys-process/fcron-3.1.2-r2  USE="mta pam readline system-crontab -debug (-selinux)" LINGUAS="-fr"  
 
[ebuild  N    ] sys-process/fcron-3.1.2-r2  USE="mta pam readline system-crontab -debug (-selinux)" LINGUAS="-fr"  
  
##b## Would you like to merge these packages? [Yes/No]##i## yes
+
Would you like to merge these packages? [Yes/No]##i## yes
 
</console>
 
</console>
  
Line 22: Line 26:
  
 
<console>
 
<console>
# ##i##rc-update add fcron default
+
###i## rc-update add fcron default
 
  * service fcron added to runlevel default
 
  * service fcron added to runlevel default
# ##i##rc
+
###i## rc
 
  * Caching service dependencies ...              [ ok ]
 
  * Caching service dependencies ...              [ ok ]
 
  * Starting fcron ...                            [ ok ]
 
  * Starting fcron ...                            [ ok ]
Line 31: Line 35:
 
=== System Cron Jobs ===
 
=== System Cron Jobs ===
  
After the cron daemon has been emerged, you may see a message to run <tt>emerge --config</tt> to configure your cron daemon to process system cron jobs. System cron jobs are scripts that are installed by various packages into the following directories:
+
After the cron daemon has been emerged, you may see a message to run <code>emerge --config</code> to configure your cron daemon to process system cron jobs. System cron jobs are scripts that are installed by various packages into the following directories:
  
* <tt>/etc/cron.hourly</tt>
+
* <code>/etc/cron.hourly</code>
* <tt>/etc/cron.daily</tt>
+
* <code>/etc/cron.daily</code>
* <tt>/etc/cron.weekly</tt>
+
* <code>/etc/cron.weekly</code>
* <tt>/etc/cron.monthly</tt>
+
* <code>/etc/cron.monthly</code>
  
For example, you should find a <tt>/etc/cron.daily/man-db</tt> script that is installed by the <tt>man-db</tt> ebuild. This system cron job updates the man cache every day.
+
For example, you should find a <code>/etc/cron.daily/man-db</code> script that is installed by the {{Package|sys-apps/man-db}} ebuild. This system cron job's purpose is to update the man cache every day, and it will run only if you enable your cron daemon to manage system cron jobs.
  
You may choose to enable your cron daemon so that it runs system cron jobs, or choose not to. Enabling a cron daemon to run system cron jobs will result in a bit more activity on your system, but should ensure that the system runs more optimally most of the time (caching of man pages, etc.)
+
You may choose to enable your cron daemon so that it runs system cron jobs, or choose not to. Enabling a cron daemon to run system cron jobs will result in a bit more disk and CPU activity on your system, but should ensure that the system runs more optimally most of the time (proper caching of man pages, etc.) It is recommended for most systems, but your system will still function without system cron jobs active.
  
If you would like to have your system run system cron jobs, use <tt>emerge --config</tt> as specified in the emerge output:
+
If you would like to have your system run system cron jobs, use <code>emerge --config</code> as specified in the emerge output:
  
 
<console>
 
<console>
# ##i##emerge --config sys-process/fcron
+
###i## emerge --config sys-process/fcron
Configuring pkg... * This is going to set up fcron to execute check_system_crontabs. * In this configuration, you're no longer free to edit the systab * at your leisure, at it'll be rewritten the moment the crontabs * are modified.Rebuilding fcron systab.2013-10-19 21:20:38  INFO installing file /tmp/fcrontab.84pova for user systabModifications will be taken into account right now.</console>
+
Configuring pkg...
 +
 
 +
* This is going to set up fcron to execute check_system_crontabs.
 +
* In this configuration, you're no longer free to edit the systab
 +
* at your leisure, as it'll be rewritten the moment the crontabs
 +
* are modified.
 +
 
 +
Rebuilding fcron systab.2013-10-19 21:20:38   
 +
INFO installing file /tmp/fcrontab.84pova for user systab
 +
Modifications will be taken into account right now.</console>
  
 
Your cron daemon is now configured to automatically run system cron jobs.
 
Your cron daemon is now configured to automatically run system cron jobs.
  
 
[[Category:System]]
 
[[Category:System]]

Latest revision as of 00:04, 11 January 2014

Introduction

Cron daemons allow you to configure certain tasks to be run at specific times. Installing a cron daemon is a good idea because some packages may assume that you have a cron daemon installed and create jobs to update their databases with a cron daemon. There are several different loggers available to Funtoo users:

Installation

To install the cron daemon of your choice, run the following command:

# emerge --ask fcron

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] sys-process/cronbase-0.3.2-r1
[ebuild  N     ] sys-process/fcron-3.1.2-r2  USE="mta pam readline system-crontab -debug (-selinux)" LINGUAS="-fr" 

Would you like to merge these packages? [Yes/No] yes

Now enable the cron init script so that is starts when your system boots, and enable the cron daemon:

# rc-update add fcron default
 * service fcron added to runlevel default
# rc
 * Caching service dependencies ...              [ ok ]
 * Starting fcron ...                            [ ok ]

System Cron Jobs

After the cron daemon has been emerged, you may see a message to run emerge --config to configure your cron daemon to process system cron jobs. System cron jobs are scripts that are installed by various packages into the following directories:

  • /etc/cron.hourly
  • /etc/cron.daily
  • /etc/cron.weekly
  • /etc/cron.monthly

For example, you should find a /etc/cron.daily/man-db script that is installed by the sys-apps/man-db ebuild. This system cron job's purpose is to update the man cache every day, and it will run only if you enable your cron daemon to manage system cron jobs.

You may choose to enable your cron daemon so that it runs system cron jobs, or choose not to. Enabling a cron daemon to run system cron jobs will result in a bit more disk and CPU activity on your system, but should ensure that the system runs more optimally most of the time (proper caching of man pages, etc.) It is recommended for most systems, but your system will still function without system cron jobs active.

If you would like to have your system run system cron jobs, use emerge --config as specified in the emerge output:

# emerge --config sys-process/fcron
Configuring pkg...

 * This is going to set up fcron to execute check_system_crontabs.
 * In this configuration, you're no longer free to edit the systab
 * at your leisure, as it'll be rewritten the moment the crontabs
 * are modified.

Rebuilding fcron systab.2013-10-19 21:20:38  
INFO installing file /tmp/fcrontab.84pova for user systab
Modifications will be taken into account right now.

Your cron daemon is now configured to automatically run system cron jobs.