Cron Expression
Also known as: Crontab, Cron schedule, Cron pattern
A cron expression is a five-field string (or six fields with the Quartz seconds extension) that describes a recurring schedule — used by Unix cron, Kubernetes CronJobs, GitHub Actions schedules, and most modern job runners to say things like 'every 15 minutes' or 'every weekday at 9am'.
Overview
The five fields, in order, are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, where both 0 and 7 mean Sunday). An asterisk means 'every value'. A slash means 'every Nth value' (e.g. '*/15' in the minute field means every 15 minutes). A comma lists specific values; a hyphen specifies a range.
The most common source of surprise is what happens when both day-of-month AND day-of-week are specified. Most implementations treat it as OR — the job runs on a match of EITHER, not BOTH. So '0 9 1 * 1' runs at 09:00 on the 1st of every month AND on every Monday.
The Quartz extension adds a seconds field at the start, giving six fields total. It also adds a '?' wildcard meaning 'no specific value' which is mostly used to disambiguate day-of-month vs day-of-week.