Curated cron expression
Every 30 Minutes Cron Expression: */30 * * * *
Decode */30 * * * * — twice per hour at :00 and :30 — for polling, sync, and batch jobs.
Meaning at a glance
*/30 * * * *
Run every thirty minutes
Twice per hour, 48 runs per day.
Next-run example: At 10:07, next runs are 10:30, 11:00, 11:30, 12:00.
How */30 * * * * works
The */30 minute step fires at the top and middle of each hour.
Thirty-minute schedules balance freshness and cost for many SaaS integrations.
Preview next runs and platform conversions in CronWizard before deploying to production.
| Field | Value | Meaning |
|---|---|---|
| Minute | */30 | Configured as */30 |
| Hour | * | Every value |
| Day of month | * | Every value |
| Month | * | Every value |
| Day of week | * | Every value |
Good use cases
- CRM sync
- Report refresh
- Certificate checks
Timezone and daylight-saving behavior
Wall-clock labels follow the configured timezone.
Repeated local labels possible when clocks fall back.
The expression does not contain a timezone. The scheduler supplies that context. Use the next-run preview above in the same IANA timezone as production, then confirm the target platform's own timezone rules.
Platform compatibility and converted expressions
The source expression is five-field Unix cron. Use the exact equivalent below rather than adding or removing fields by sight.
| Platform | Status | Expression | What to know |
|---|---|---|---|
| Unix crontab | Ready | */30 * * * * | Use directly in a normal five-field user crontab. |
| Kubernetes CronJob | Ready | */30 * * * * | Use as spec.schedule; set spec.timeZone when local wall-clock behavior matters. |
| GitHub Actions | Ready | */30 * * * * | Use under on.schedule; UTC is the default and an IANA timezone may be specified. |
| Vercel Cron Jobs | Plan / behavior limit | */30 * * * * | The expression is valid, but Vercel always uses UTC and Hobby schedules run at most once per day. |
| AWS EventBridge Scheduler | Convert | cron(*/30 * ? * ? *) | Convert to AWS minute-first cron(...), add the required year, and use ? in one day field. |
| Spring @Scheduled | Convert | 0 */30 * * * * | Use Spring’s six fields by prepending seconds and set zone explicitly when needed. |
| systemd timer | Convert | */30 * * * * | Use OnCalendar syntax and validate it with systemd-analyze calendar on the target host. |
Edge cases to check before deployment
- Not the same as '30 minutes after start'.
- Overlap if runtime exceeds 30 minutes.
Frequently asked questions
What does the cron expression */30 * * * * mean?
*/30 * * * * means “run every thirty minutes.” Twice per hour, 48 runs per day.
What are the next run times for */30 * * * *?
At 10:07, next runs are 10:30, 11:00, 11:30, 12:00. Exact timestamps depend on the scheduler timezone and the current time.
What timezone does */30 * * * * use?
Wall-clock labels follow the configured timezone.
Can I use */30 * * * * on every scheduling platform?
No. It is a five-field Unix expression. Some platforms accept it directly, while AWS EventBridge Scheduler, Spring, and systemd require the converted form shown in the compatibility table.