Cron every 30 seconds
Every 30 seconds in cron is */30 * * * * ? in Quartz or Spring; Unix cron and AWS can't go below a minute. Next runs are calculated in your browser.
Unix cron has no seconds field. The usual workaround is two crontab lines: * * * * * your-command and * * * * * sleep 30; your-command.
*/30 * * * * ?
Not possible: EventBridge documents that cron expressions faster than once a minute aren't supported.
Read by our parser as: Every 30 seconds. Open in the cron checker
Next 10 runs
Calculating in your browser...
- 1
- 2
- 3
At a glance
- Accepts
- Nothing to enter - the schedule is preset on the page
- Outputs
- The expression in Unix, Quartz/Spring and AWS form, plus its next 10 run times
- Where it runs
- Entirely in your browser, on your device
- What leaves your device
- Nothing - what you type stays in this tab
- Limits
- Run times use your browser's timezone or UTC; real schedulers can start a run late
- Account
- Not required - there is no sign-up
- Price
- Free, with no watermark and no usage cap
- Made by
- Visrut
What it means
*/30 * * * * ? is a Quartz or Spring expression: the first field is seconds, so */30 there means second 0 and second 30 of every minute. That's two runs a minute, 2,880 a day. Plain Unix cron can't do this at all; its smallest unit is the minute.
When this is the right schedule
Use it when you're inside a JVM app using Quartz or Spring @Scheduled, and a sub-minute poll is genuinely needed, such as checking a fast-moving job table.
When to pick something else
Look elsewhere when you could react to an event instead of polling, or you're on a platform without seconds (crontab, Kubernetes, GitHub Actions, AWS EventBridge). In Spring, @Scheduled(fixedDelay = 30000) is often clearer and waits for the previous run to finish.
Things to watch
Six fields, seconds first
Spring documents its format as second, minute, hour, day of month, month, day of week. Its own example */10 * * * * * is "every ten seconds". Quartz adds an optional seventh field for the year.
The two-line crontab trick
On Linux, * * * * * cmd plus * * * * * sleep 30; cmd gives roughly every 30 seconds. It isn't exact (each start depends on when cron wakes up) and if cmd takes longer than 30 seconds the runs overlap.
Spring: cron or fixedRate?
A cron of */30 * * * * * fires on the clock (:00 and :30). fixedRate = 30000 fires every 30 seconds from application start, and fixedDelay waits 30 seconds after each run ends. Choose cron only if you need the clock alignment.
Frequently asked questions
Why does */30 * * * * run every 30 minutes, not seconds?
With five fields it's Unix cron, where the first field is minutes. Only 6-field Quartz or Spring expressions start with seconds.
Can GitHub Actions or Kubernetes run every 30 seconds?
No. Both use 5-field cron with minutes as the smallest unit, and GitHub sets a minimum interval of 5 minutes.