Basically the cron daemon is a utility that enables a user to run tasks as a given user at a given time. Crontab or the CRON TABle is a simple ASCII file which contains the the task to be run and the times at which it should be executed.

It's similar to the AT command on Windows, or Windows Task Scheduler.

Let's give one example, say you have a web-site like this one, when people visit a web-site all their details are logged to a file and people often like to view the stats of visitors in a nice format so they run something like AWStats. Rather than having to logon each day and manually run the script you could set a simple cron job to do the update for you say at midnight every day, or for a heavy traffic site perhaps twice a day.

If you are using a web host and you don't have shell access you may or may not have access to your crontable.

Every user on a Linux has a personal crontable enabling them to setup their own schedules. Also note if the machine is down when the cron job was due to run, when the machine comes back up it will not run any jobs it missed.

Basic Commands/Usage

To list your current crontable:

crontab -l

To edit your current crontable:

crontab -e

To delete your current crontable

crontab -r

So to edit your crontable at the command line type crontab -e if you have added nothing, you will see a blank page in your system default text editor (vi in most cases, nano in mine).