The cron system is a method to automatically run commands on a schedule. A scheduled job is called a cronjob, and it’s created in a file called a crontab. It’s the easiest and oldest way for a computer user to automate their computer.
Writing a cronjob
To create a cronjob, you edit your crontab using the -e option:
$ crontab -e This opens your crontab your default text editor. To set the text editor explicitly, use the EDITOR environment variable:
$ EDITOR=nano crontab -e Cron syntax
To schedule a cronjob, you provide a cron expression followed by the command you want your computer to execute. The cron expression schedules when the command gets run:
-
minute (0 to 59)
-
hour (0 to 23, with 0 being midnight)
-
day of month (1 to 31)
-
month (1 to 12)
-
day of week (0 to 6, with Sunday being 0)
An asterisk (*) in a field translates to "every." For example, this expression runs a backup script at the 0th minute of every hour on every day of every month:
0 * * * * /opt/backup.shThis expression runs a backup script at 3:30 AM on Sunday:
30 3 * * 0 /opt/backup.shSimplified syntax
Modern cron implementations accept simplified macros instead of a cron expression:
-
@hourlyruns at the 0th minute of every hour of every day -
@dailyruns at the 0th minute of the 0th hour of every day -
@weeklyruns at the 0th minute of the 0th hour on Sunday -
@monthlyruns at the 0th minute of the 0th hour on the first day of the month
For example, this crontab line runs a backup script every day at midnight:
/opt/backup.sh @dailyHow to stop a cronjob
Once you've started a cronjob, it's designed to run on schedule forever. To stop a cronjob once you've started it, you must edit your crontab, remove the line that triggers the job, and then save the file.
$ EDITOR=nano crontab -e To stop a job that's actively running, use standard Linux process commands to stop a running process.
It’s automated
Once you’ve written your crontab, save the file and exit your editor. Your cronjob has been scheduled, so cron does the rest.

4 Comments