What is Cron

Cron is a system utility in unix-like operating systems used to execute tasks based on a schedule. Cron reads a users Crontab (cron table) and executes the tasks at set times as listed in the crontab file.

Editing your Crontab

The Crontab file is best accessed via the terminal as this prevents corruption (txt edit programs can cause the crontab file to become corrupted). After opening a terminal I recommend executing the command: export EDITOR=nano
This changes your default terminal text editor to nano instead of vi as nano is a lot easier to use (in my opinion).

Next execute crontab -e
This will open your crontab file in nano and allow you to insert your own commands.

Crontab Syntax

The syntax that cron uses is not exactly designed to be easily read by people.

This is the basic idea to writing a crontab command.
bash minute(0-59) hour(0-23) day(1-31) month(1-12) weekday (0-6) /usr/bin/somedirectory/somecommand
Each command in the file requires minutes, hours, days, month and weekday entries. If one is missing the command won’t be executed.

Below are a couple of examples as found on the ubuntu crontab page. Be sure to check out their page for a more through look at cron and crontab.

01 04 1 1 1 /usr/bin/somedirectory/somecommand

The above example will run /usr/bin/somedirectory/somecommand at 4:01am on January 1st plus every Monday in January.

An asterisk (*) can be used so that every instance (every hour, every weekday, every month, etc.) of a time period is used.
bash 01 04 * * * /usr/bin/somedirectory/somecommand
The above example will run /usr/bin/somedirectory/somecommand at 4:01am on every day of every month.

It is also possible to use commas 15,20 on the 15th or the 20th and dashes 5-12 between the 5th and the 12th.

Another useful reference for Cron and Crontab can be found on adminschoice.com.