Use the recipes, then verify
The Recipes list in the builder covers the schedules people search for most: every 5, 15 or 30 minutes, hourly, every 6 hours, daily at midnight, weekdays at 09:00, every 15 minutes in business hours, weekends, Friday afternoons, the first and last day of the month, the last weekday, the first Monday, the last Friday, quarterly and yearly. Selecting one converts it to your current dialect; if the dialect cannot express it, you get the workaround instead of a wrong expression.
A few patterns deserve care. “Every other week” is not expressible in any cron dialect: use a weekly schedule and test the ISO week number in the job. “Every 90 minutes” needs two expressions. Weekly at midnight on Sunday is 0 0 * * 0 in Unix, but 0 0 0 ? * 1 in Quartz.
Try these
0 0 * * 0Weekly, Sunday midnight0 */15 9-17 ? * MON-FRIBusiness hourscron(0 18 ? * MON-FRI *)AWS weekdays 18:000 0 1 1,4,7,10 *Quarterly5 4 * * *GitHub nightly (off the hour)
Questions
How do I run a cron job every other week?
Cron cannot count weeks. Schedule it weekly and guard in the job, e.g. [ $(( $(date +%V) % 2 )) -eq 0 ] && command (escape % in crontab).
Why schedule GitHub workflows at odd minutes?
GitHub notes that load is highest at the start of every hour and runs may be delayed or dropped then. 5 4 * * * is less likely to be delayed than 0 4 * * *.