Every 30 Minutes Cron Expression — */30 * * * *
Cron Expression
*/30 * * * *What it means
Runs every 30 minutes
Suitable for mid-frequency background tasks like email digest processing, thumbnail generation queues, or periodic database vacuuming. Runs at :00 and :30 each hour.
Next 8 Scheduled Runs (UTC)
- 1.Wed, 24 Jun 2026 19:00:00 GMT
- 2.Wed, 24 Jun 2026 19:30:00 GMT
- 3.Wed, 24 Jun 2026 20:00:00 GMT
- 4.Wed, 24 Jun 2026 20:30:00 GMT
- 5.Wed, 24 Jun 2026 21:00:00 GMT
- 6.Wed, 24 Jun 2026 21:30:00 GMT
- 7.Wed, 24 Jun 2026 22:00:00 GMT
- 8.Wed, 24 Jun 2026 22:30:00 GMT
Platform Snippets
GitHub Actions
- cron: '*/30 * * * *'
Kubernetes CronJob
schedule: "*/30 * * * *"
AWS EventBridge
cron(*/30 * * * ? *)
AWS uses a 6-field format with year and requires either DOM or DOW to be ?.
systemd Timer
[Timer] OnCalendar=*-*-* *:*/30:00 Persistent=true
Want to decode a different expression or test your own?
Test this expression interactively →FAQ
What does the cron expression */30 * * * * mean?
Runs every 30 minutes. Suitable for mid-frequency background tasks like email digest processing, thumbnail generation queues, or periodic database vacuuming. Runs at :00 and :30 each hour.
How do I use */30 * * * * in GitHub Actions?
Add a schedule trigger under the "on" key in your workflow YAML: on: schedule: - cron: '*/30 * * * *'. This will run your workflow runs every 30 minutes. Note that GitHub Actions uses UTC time.
Is the cron expression */30 * * * * valid for Kubernetes CronJobs?
Yes. Set the schedule field in your CronJob spec to "*/30 * * * *". Kubernetes CronJobs use standard 5-field cron syntax and run in UTC by default unless you configure a timeZone field.
