Cron explained
Paste a cron expression and read it in plain English, see when it runs next, and catch the classic mistakes before they bite.
Fields: minute · hour · day of month · month · day of week. Standard 5-field cron as in crontab (Vixie/cronie) and GitHub Actions; a 6-field Quartz/Spring expression is read as seconds + 5 fields.
The five fields
minute hour day-of-month month day-of-week. Each field takes a number, * (every),
a list 1,15, a range 1-5 or a step */10. Months and weekdays also take names like jan or mon;
Sunday is 0 or 7.
Three common mistakes
Minute left as *. * 3 * * * runs 60 times between 03:00 and 03:59, not once.
Day of month and weekday together. 0 0 13 * 5 runs on every 13th and every Friday, not only on Friday the 13th.
Time zones. Most servers and CI systems (GitHub Actions, for example) run cron in UTC, so 9:00 in the expression may be 10:00 or 11:00 in Germany.
Did your job actually run?
A correct schedule doesn't mean the job did its work. Heartbeat watches scheduled jobs and alerts you when one is late, fails, or processes far fewer records than usual. Free for 10 checks.