PROGRAMS

# cron

## Overview

Most web-servers give you the ability to setup and run cron tasks for maintaining your website. These are normally setup from cPanel or equivalent, and is called a webcron.

## The Basics

To list the current crontabs type:

sudo crontab -l

## Special Characters

There are a number of characters which have a special meaning when writing a crontab.

CharacterDescriptionCompatibility
*The asterisk character matches any occurance of the relevant time field. For example, * in the second field (hour field) will cause it to match every hour.Works with most versions of cron.
-A hyphen is used to define a range for a time field. For example, 10-45 in the minute field matches every minute in the hour between 10 and 45 (inclusive).Works with most versions of cron.
/The forward-slash character describes increments of ranges (so is used with the - character.Works with most versions of cron.
,The comma is used to indicate items of a list. For example, 2001, 2013, 2050 matches the years 2001, 2013 and 2050.Works with most versions of cron.

## Predefined Timing Words

These are pretty self-explanatory.

WordDescriptionEquivalent To
@hourlyRuns once an hour (at the beginning of the hour).0 * * * *
@dailyRuns once an day (at midnight).0 0 * * *
@weeklyRuns once an week (at midnight every Sunday).0 0 * * 0
@monthlyRuns once an month (at midnight on the first day of the month).0 0 1 * *
@yearly (or @annually)Runs once an year (at midnight on the first day of the year).0 0 1 1 *
@rebootRuns on reboot. Note that this can either be implemented as running only on reboot (e.g. on Debian systems), or everytime the cron daemon starts (i.e. startup, but could trigger at other times also).n/a

## Logging

By default, cron saves the output to the user’s mailbox. You can save it to a separate logfile instead with the following syntax:

* * * * * shell-command-here >> /var/log/cron-log-file.log 2>&1

This redirects both stdout and stderr to the file cron-log-file.log.