Field reference
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
* * * * *
Special characters
| Symbol | Meaning |
|---|---|
* |
Any value |
, |
List (1,15 = the 1st and 15th) |
- |
Range (9-17 = 9 through 5 PM) |
/ |
Step (*/10 = every 10 units) |
? |
No specific value (Quartz-style schedulers only) |
Ready-to-use patterns
| Schedule | Expression |
|---|---|
| Every minute | * * * * * |
| Every 5 minutes | */5 * * * * |
| Every hour, on the hour | 0 * * * * |
| Every day at midnight | 0 0 * * * |
| Every day at 9:30 AM | 30 9 * * * |
| Every weekday at 9 AM | 0 9 * * 1-5 |
| Every Monday at 9 AM | 0 9 * * 1 |
| Every 1st of the month | 0 0 1 * * |
| Every 6 hours | 0 */6 * * * |
| Twice a day (9 AM & 5 PM) | 0 9,17 * * * |
Named shortcuts
@yearly, @monthly, @weekly, @daily, @hourly are accepted by most modern schedulers as aliases for the equivalent five-field expression — useful shorthand when you don't need a non-standard interval.
FAQ
What does */5 mean in the minute field?
Every 5th minute starting from 0 — minutes 0, 5, 10, 15, and so on through 55.
How do I schedule something for weekdays only?
Set the day-of-week field to 1-5 (Monday through Friday) and leave day-of-month as *.
Is 0 or 7 used for Sunday?
Both are accepted by most implementations as equivalent — check your specific scheduler if it matters for a particular expression.
Build and verify any expression instantly with the Cron Expression Descriptor — see the next run times before deploying it.