Skip to main content

Cron every 30 minutes, on the hour and half past

Question

I am trying to add a crontab entry to execute a script every 30 minutes, on the hour and 30 minutes past the hour or something similar. How can I do this?

Answer

To run on the hour and at 30 minutes past every hour, use 0,30 * * * *. This gives you two clock-aligned runs per hour: 00:00, 00:30, 01:00, 01:30, and so on. If you want only one run at half past each hour, use 30 * * * * instead. Neither schedule means “30 minutes after the previous run finishes”; cron matches wall-clock times and does not measure elapsed time from a job's completion.

crontab
# on the hour and at half past every hour
0,30 * * * *
crontab
# only at half past every hour
30 * * * *

Read 0,30 * * * * from left to right: the minute field selects minutes 0 and 30; the hour wildcard allows every hour; the day-of-month, month, and day-of-week wildcards allow every date. In 30 * * * *, the first field selects only minute 30, while the remaining wildcards still allow every hour and day. The step form */30 * * * * expands to the same 0 and 30; use the list form when you want the two minute marks to be obvious. If a run can last longer than 30 minutes, add locking or another concurrency control so the next scheduled run does not overlap it.

Run 0,30 * * * * on Crontap
A horizontal teal bar representing one hour, with two yellow dots at the start and at the halfway point marking the :00 and :30 runs.
One hour, two runs: 0,30 fires at the top of the hour and at half past.
Why this matters

Choosing between 30 and 0,30 prevents a silent frequency error: the first runs 24 times per day, the second 48 times. That difference can double your work, API traffic, or billing without producing an obvious syntax error. A second failure mode is overlap. Cron starts each matching run whether the previous one completed or not, so a job that occasionally exceeds 30 minutes can have two copies running at once unless you use a lock.

Read the dedicated guide: Cron every 30 minutes.

Cron schedules used

What it does

0,30 * * * *

At 0 and 30 minutes past the hour, every hour, every day.

Calendar

View future cron matches in a calendar

September 2026 · UTC

0 runs

30 * * * *

At 30 minutes past the hour, every hour, every day.

See this cron expression on the calendar view example

Write the cron here. Run it on Crontap.

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

1.9k+ teams · Free forever tier · No credit card

Permalink: https://tool.crontap.com/help/cron-job-expression-every-minutes-past-the-hour