Cron is a automation tool for Linux systems.
Cron is the name of program that enables unix users to execute commands or scripts (groups of commands) automatically at a specified time/date. It is normally used for sys admin commands, like makewhatis, which builds a search database for the man -k command, or for running a backup script, but can be used for anything. A common use for it today is connecting to the internet and downloading your email.
Introduction for noobs about Cron
cron is driven by a crontab, a configuration file that specifies shell commands to run periodically on a given schedule.
Each line in a crontab file is a job and follows a particular format as a series of fields, separated by spaces or tabs(see example below). Each field can have a single value or a series of values.
There are multiple ways of specifying several date/time values in a field:
There is also an operator which some extended versions of cron support, the slash(/) operator, which can be used to skip a given number of values. For example, "*/3" in the hour time field is equivalent to "0,3,6,9,12,15,18,21". So "*" specifies 'every hour' but the "*/3" means only those hours divisible by 3.
Example: the following will clear the Apache error log at one minute past midnight each day.
01 00 * * * echo "" > /www/apache/logs/error_log
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * <command to be executed>
For more information about the cron and crontab, run the command man cron
and man crontab
You can use this tool to generate the crontab commands easily. Just enter the command and the intervals it should be executed on - this tool will create a line in crontab syntax that will do the work for you. All you have to do is add the generated line to your crontab file. Once the result line is generated, run the command 'crontab -e' - this will open your crontab file in an editor. Just copy the generated line into this editor and save the file - you are done.
For example, lets say you want to clear the apache log file every day at midnight. The command to be executed is:
echo "" > /www/apache/logs/error_log
Enter that command into the command input field in the application. Next click on the 'Choose' radio button in the minute and set it to 0. Then select the 'Choose' option in Hour and set it to 12 Midnight. Live the rest as it it - we want the command to be executed every day. Now just click on the 'Create Crontab Line'. The final crontab line will show up in the 'Result crontab Line' textarea.