What is cron? It is the scheduling daemon of the Linux operating system.
It maintains crontab files for users with the daemon known as crond. Cron is be started from /etc/rc or /etc/rc.local or /etc/rc.d. It will return immediately, so you don’t need to start it with ’&’.
Cron searches /var/spool/cron for crontab files which are named after accounts in /etc/passwd; crontabs found are loaded into memory. Cron also searches for /etc/crontab and the files in the /etc/cron.d/ directory, which are in a different format then wakes up every minute, examining all stored crontabs, checking each command to see if it should be run in the current minute. When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if such exists).
Additionally, cron checks each minute to see if its spool directory’s modtime (or the modtime on crontab) has changed, and if it has, cron will then examine the modtime on all crontabs and reload those which have changed. Thus cron need not be restarted whenever a crontab file is modified. Note that the crontab command updates the modtime of the spool directory whenever it changes a crontab.
[ Read more ]