Cron Jobs Link to heading

The Cron daemon is a built-in Linux utility that reads the crontab (cron table) file and executes commands and scripts at predetermined times and intervals

crontab -e

Documentation Link to heading

Uses:

  • updating software
  • creating backups
  • clearing caches
  • running arbitrary tasks at specific times

Syntax format:

MIN HOUR DOM MON DOW CMD

Execute a script on January 1st at 9 AM, regardless of which day of the week falls on January 1st.

0 9 1 1 \* /path/to/your_script.sh

For example, the following command tells Cron to execute the backup.sh script, located in the root directory, every day at midnight:

0 0 * * * /root/backup.sh
FieldPossible ValuesSyntaxDescription
Minute Within the Hour (MIN)0 – 597 * * * *The cron job is initiated every time the system clock shows 7 in the minute’s position.
Hour of the Day (HOUR)0 – 230 7 * * *The cron job runs any time the system clock shows 7 AM (7 PM would be coded as 19).
Day of the Month (DOM)1 – 310 0 7 * *The day of the month is 7, which means that the job runs every 7th day of the month.
Month of the Year (MON)1 - 12 or JAN - DEC0 0 0 7 *The numerical month is 7, which determines that the job runs only in July. The Month field value can be a number or the month abbreviation.
Day of the Week (DOW)0 - 7 or SUN - SAT0 0 * * 77 in the current position means that the job would only run on Sundays. The Day of the Week field can be a number or the day abbreviation.

Operators Link to heading

  • An asterisk (_) substitutes all possible values for a time field. For example, when used in the day field, it indicates that the task should be executed every day.
  • A comma (,) is used to separate individual values within a field. For example, 20,40 in the minute field runs the task at 20 and 40 minutes past the hour.
  • A dash (-) defines a range of values in a single field. Entering 15-18 in the minute field instructs Cron to run a task every minute between and including the 15th and 18th minute.
  • A forward slash (/) divides a field value into increments. For example, _/30 in the minute field means that the task is run every 30 minutes.