// how it works
How */30 * * * * Works
*/30 * * * * fires twice per hour, at minute 0 and minute 30. This is equivalent to writing 0,30 * * * *. Many developers use this for half-hourly report generation, data syncs, or backup snapshots.
Note: */30 and 0,30 produce the same result. Either works.
Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| Minute | */30 | Every 30th minute (0 and 30) |
| Hour | * | Every hour |
| Day of month | * | Every day |
| Month | * | Every month |
| Weekday | * | Every day of week |
// next scheduled runs (UTC)
Next 10 Run Times
Approximate run times starting from the current date. Open in the builder to see exact run times in your timezone.
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
// copy-paste ready examples
Platform Examples
Linux / Unix crontab
*/30 * * * * /path/to/script.sh
GitHub Actions
on:
schedule:
- cron: '*/30 * * * *'
AWS EventBridge
cron(*/30 * * * ? *)
Kubernetes CronJob
spec:
schedule: "*/30 * * * *"
node-cron (Node.js)
cron.schedule('*/30 * * * *', () => { ... });
APScheduler (Python)
scheduler.add_job(fn, 'cron', minute='*/30')
// related expressions
Related Cron Expressions
// frequently asked questions
FAQ
What does */30 mean in cron?
*/30 in the minute field means every 30 minutes — at minute 0 and minute 30 of every hour.
Is */30 * * * * the same as 0,30 * * * *?
Yes, they are identical. */30 is shorthand for listing 0 and 30 explicitly.
How do I run a cron job twice a day?
For twice a day (e.g. noon and midnight), use 0 0,12 * * *. For every 12 hours, use 0 */12 * * *.
Build or explain any cron expression
Use the free visual builder — paste an expression for a plain-English explanation, or click your way to a schedule. See the next 10 run times. No login.
Open CronBuilder →