How to build a cron schedule
- Choose your target syntax: leave Syntax on Normal for Linux
crontab, GitHub Actions, or Kubernetes CronJobs, or switch to Quartz, AWS EventBridge, or Jenkins so day-of-week numbers and special symbols (?,L,W,#,H) match your platform. - Start from a preset or customize each field: click a quick preset (such as Every 5 minutes or Weekdays at 09:00) and refine the Minute, Hour, Day of month, Month, and Day of week cards.
- Verify the schedule: check the plain-English summary and the next 10 run timestamps in Local or UTC time before clicking Copy.
Frequently asked questions
- How do I schedule a cron job to run every N minutes or hours?
- Select "Every N minutes (*/N)" in the Minute card and enter your interval (such as 5 for */5 * * * *). In Jenkins syntax, choose "Jenkins hash (H)" and enable "Step (/N)" to generate H/5 * * * * so multiple jobs do not all fire on minute 0.
- Why does selecting a day of the week put ? in day of the month for Quartz and EventBridge?
- Quartz and AWS EventBridge do not allow both day-of-month and day-of-week to use * at the same time. The ? character means "no specific value" and is placed automatically in whichever day field is not being restricted.
- How do I run a job on the last day or last weekday of every month?
- Switch Syntax to Quartz or System → AWS EventBridge, then in the Day of month card choose "Last day of month (L)" or "Last weekday of month (LW)". Standard 5-field Unix cron does not have a built-in L modifier.
- Does standard cron support scheduling by seconds?
- Standard POSIX/Vixie crontab has 5 fields and a minimum resolution of 1 minute. However, many libraries (such as node-cron, Go cron, and Rust cron crates) accept a 6-field form with a leading seconds field, and Quartz always starts with seconds. Check "Include seconds (6 fields)" under Normal syntax or switch to Quartz when your scheduler supports seconds.