Cron
Introduction
The
cron
command-line utility is a job scheduler on Unix-like operating systems. Users who set up and maintain software environments use cron to schedule jobs (commands or shell scripts), also known as cron jobs, to run periodically at fixed times, dates, or intervals. It typically automates system maintenance or administration—though its general-purpose nature makes it useful for things like downloading files from the Internet and downloading email at regular intervals.
Overview
The actions of cron
are driven by a crontab (cron table) file,
a configuration file that
specifies shell commands to run periodically on a given schedule.
The crontab files are stored where the lists of jobs and
other instructions to the cron daemon are kept.
Users can have their own individual crontab files and
often there is a system-wide crontab file
(usually in /etc
or a subdirectory of /etc
e.g. /etc/cron.d
) that
only system administrators can edit.
Each line of a crontab represents a single scheduled job with
a cron expression syntax to define how often it should run.
Cron Expressions
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>