Cron

cronie

In Arch Linux I use cronie for cron jobs. (There is no cron service installed by default). Install cronie and then enable it in systemd with:

systemctrl enable --now cronie.service

commands

List cron jobs

crontab -l

Open cron file

crontab -e

Check cron log


journalctl | grep CRON
# Different distros have different loggers

Syntax

m h d mon dow command
# minute, hour, day of month, day of week, bash script/args
# 0-59, 0-23, 1-31, 1-12, 0-6

Examples

Run on the hour every hour

0 * * * * mysqlcheck --all-databases --check-only-changed --silent

At 01:42 every day:

42 1 * * * mysqlcheck --all-databases --check-only-changed --silent

Every half hour:

0,30 * * * * ${HOME}/bash_scripts/automate_commit.sh

Shorthands

  • @reboot – Run once, at startup
  • @yearly – Run once a year, “0 0 1 1 *”.</>
  • @annually – same as @yearly
  • @monthly – Run once a month, “0 0 1 * *”
  • @weekly – Run once a week, “0 0 * * 0”
  • @daily – Run once a day, “0 0 * * *”
  • @midnight – same as @daily
  • @hourly – Run once an hour, “0 * * * *”

Examples

@hourly mysqlcheck --all-databases --check-only-changed --silent

View the logs

sudo grep crontab syslog