Candid Tools

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 (crontab, GitHub Actions, Kubernetes)

Unix cron has no seconds field. The usual workaround is two crontab lines: * * * * * your-command and * * * * * sleep 30; your-command.

Quartz and Spring (seconds first; valid in both)
  • */30 * * * * ?
AWS EventBridge (minute first, year last)

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. 1 
  2. 2 
  3. 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.