crontab language preview
1. A basic crontab
environment lines, wildcards, and a step schedule
horizon-dark
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
atom-one-dark
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
github-dark
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
dracula
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
nord
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
github
# run backups nightly
SHELL=/bin/bash
MAILTO=admin@example.com
0 2 * * * /usr/local/bin/backup.sh --quiet
*/15 * * * * root /usr/bin/check-disk.sh
0 9 1 JAN-MAR * echo "quarterly report" >> /var/log/report.log
@reboot /usr/local/bin/on-boot.sh
2. Named schedules
@ nicknames as an alternative to five-field schedules
horizon-dark
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
atom-one-dark
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
github-dark
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
dracula
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
nord
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
github
@yearly /usr/local/bin/rotate-logs.sh
@daily /usr/local/bin/cleanup-tmp.sh
@hourly /usr/local/bin/sync-metrics.sh
3. Weekday and range fields
named weekdays, ranges, and lists in the schedule fields
horizon-dark
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh
atom-one-dark
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh
github-dark
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh
dracula
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh
nord
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh
github
30 8 * * MON-FRI /usr/local/bin/standup-reminder.sh
0 0,12 * * * /usr/local/bin/twice-daily.sh
15 3 1-7 * SUN /usr/local/bin/first-week-report.sh