Crontab

From wikieduonline
Jump to navigation Jump to search

Overview

Cron is 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) that only system administrators can edit.

Each line of a crontab file represents a job, and looks like this:

# ┌───────────── 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

The syntax of each line expects a cron expression made of five fields, followed by a shell command to execute.

Logging

Cron execution logs can be saved to specific file using rsyslog service.

  • In Ubuntu uncomment in /etc/rsyslog.d/50-default.conf the line:
#cron.* /var/log/cron.log
and restart rsyslog service: sudo systemctl restart rsyslog
  • In Debian uncomment in /etc/rsyslog.conf the line:
#cron.* /var/log/cron.log

Configuration


/etc/cron.deny (echo ALL >>/etc/cron.deny)
/etc/cron.allow


/var/spool/cron/crontabs/

Examples

Execute every minute:

* * * * *  /scripts/script.sh
45 18 * * * /scripts/script.sh
@reboot /scripts/script.sh

Related terms

See also


Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Source: wikiversity

Advertising: