Cron Expression for Every 30 Minutes

Every 30 minutes — 48 times a day
*/30 * * * *

Cron reads this as: every 30th minute.

Next 5 runs

Computed in your browser's local time zone. Cron itself evaluates against the server's zone, which on most cloud hosts is UTC — see time zones & DST if that distinction matters here.

When to use this schedule

Twice an hour, on the hour and on the half hour. A sensible floor for anything that touches an external API with meaningful cost, and a common choice for mailbox polling, moderate ETL steps, and refreshing derived data that nobody looks at in real time.

What to watch out for

Because it only fires twice an hour, a single failed run doubles your data staleness — this is the point where a dead-man's-switch check-in earns its keep over hoping you would notice. 0,30 * * * * is the identical, and arguably clearer, way to write it.

The crontab line

*/30 * * * * /usr/local/bin/your-job.sh >> /var/log/your-job.log 2>&1

Redirect the output somewhere you will actually read it — by default cron mails it, and on a host with no mail transport that means it is discarded. See the crontab guide for the surrounding syntax.

Related schedules

Variations on every 30 minutes
ExpressionSchedule
0,30 * * * *Same schedule, written as a list
15,45 * * * *Twice an hour, offset by 15 min
0 * * * *Once an hour

Build your own

Need something this page does not cover? Compose it field by field in the visual builder, or paste an expression you already have into the explainer for a per-field breakdown. The examples library collects sixty schedules in one place, and the guides cover crontab syntax, time zones, troubleshooting and production practices.