How to build and read a cron expression
A cron expression is five fields separated by spaces, and it is easy to write and hard to read. The recurring mistakes are always the same: mixing up day-of-month and day-of-week, assuming the two are AND'd when cron ORs them, and assuming the job runs in your time zone when it almost always runs in UTC.
Build the expression from labelled fields or paste an existing one, and the tool describes it back to you in plain English. Everything runs in the browser and nothing is scheduled or executed.
- Start from a preset (every minute, hourly, daily at midnight, Mondays at 9am, first of the month) or fill the fields yourself.
- Fill minute, hour, day-of-month, month, and day-of-week. Use * for every value and */N for a step.
- Read the plain-English summary to confirm it means what you intended.
- Leave day-of-month as * if you want a weekday schedule, because cron ORs the two day fields.
- Copy the expression, and check whether your scheduler runs it in UTC.