The five cron fields
A cron expression is five fields separated by spaces: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-6 or SUN-SAT, with 7 also meaning Sunday). An asterisk means every value, so * * * * * runs every minute.
Common schedules
*/5 * * * *- every 5 minutes0 * * * *- every hour, on the hour0 0 * * *- every day at midnight0 9 * * 1-5- 9am, Monday to Friday0 0 1 * *- midnight on the first of every month
The rule that catches everyone
When both day-of-month and day-of-week are set, cron runs when either matches. 0 0 1 * 1 runs on the 1st of every month and every Monday - not on Mondays that fall on the 1st. The plain-English description spells this out whenever it applies.
Time zones
A Linux crontab runs in the server’s time zone. GitHub Actions, most cloud schedulers and Kubernetes CronJobs (unless a timeZone is set) run in UTC. Switch the run-time list to UTC to see exactly when a CI job will fire. Containerising the job? The Dockerfile generator writes the image.

