⚡
fasttools.me
Run Cron Job Every 30 Minutes (*/30 * * * *)
Half-Hour Cadence • 48 Executions Daily

Run Cron Job Every 30 Minutes (*/30 * * * *)

Configure cron jobs to run every half hour (*/30 * * * *). Visual field breakdown, upcoming run timetable, and production script templates.

Direct Answer Definition

To run a cron job every 30 minutes in Linux, use the expression */30 * * * * (or 0,30 * * * *). This schedule fires twice per hour, precisely at the top of the hour (:00) and at the half hour (:30), executing 48 times per day.

POSIX Cron Expression (5-Field)
Valid Syntax
Natural Language Schedule

Every 30 minutes

Standard Schedule PresetsClick to load

Interactive 5-Field Workbench

Adjust individual cron segments in real time with instant two-way synchronization.

1. Minute*/30
0 – 59
2. Hour*
0 – 23 (24h)
3. Day of Month*
1 – 31
4. Month*
1 – 12 (Jan – Dec)
Select Month
5. Day of Week*
0 – 6 (Sun – Sat)
Select Day

Next 5 Scheduled Executions

Real-time schedule timetable projected forward from current timestamp.

12026-10-08 09:30:00 UTC
in 27 min
22026-10-08 10:00:00 UTC
in 57 min
32026-10-08 10:30:00 UTC
in 1h 27m
42026-10-08 11:00:00 UTC
in 1h 57m
52026-10-08 11:30:00 UTC
in 2h 27m

Crontab Command Snippet

Enter your executable command or script path to generate the full crontab configuration line.

Ready to paste in `crontab -e`*/30 * * * * curl -fsS https://example.com/cron-job
Runs in system timezone or explicit TZ variablePOSIX Spec
Advertisement
Sponsored Developer Space
Cron Field Syntax Mapping

Field-by-Field Breakdown of `*/30 * * * *`

PositionField NameAllowed ValuesValue in `*/30 * * * *`Evaluation Meaning
1Minute0 – 59*/30*/30 (At minutes 0 and 30)
2Hour0 – 23** (Every hour: 0-23)
3Day of Month1 – 31** (Every day of the month: 1-31)
4Month1 – 12** (Every month: 1-12)
5Day of Week0 – 6 (Sun-Sat)** (Every day of the week: 0-6)
Technical Engineering Analysis

The Half-Hour Production Balance

A 30-minute interval provides the optimal cadence for batch operations that are too heavyweight for high-frequency runs (such as scraping catalogs or warming CDNs), but need faster turnaround than an hourly schedule.

Both */30 * * * * and 0,30 * * * * are functionally identical in all POSIX systems. The step notation */30 divides the 60-minute hour into two 30-minute intervals: 0 and 30.

Because 30 minutes provides a generous 1,800-second window, scripts have ample time to retry transient network timeouts and handle moderate data spikes without risking overlapping executions.

Real-World Server Implementations

Common Production Scenarios for `*/30 * * * *`

Case 01

Search Catalog Delta Sync & Price Indexing

Scans changed product prices and stock levels, updating Meilisearch or Algolia indices every 30 minutes.

/usr/bin/php /var/www/artisan index:delta-products
Case 02

Stripe Dispute & Chargeback Warning Check

Queries Stripe Radar Early Fraud Warnings (EFW) to auto-refund high-risk transactions before formal disputes file.

/usr/bin/python3 /opt/billing/check_early_fraud.py
Case 03

Cloud Snapshot Volume Health Check

Verifies that EBS/Ceph block storage volume snapshots are completing successfully and alerts on volume degradation.

/usr/local/bin/verify_storage_snapshots.sh
Operational Traps & Failure Modes

Production Gotchas When Running `*/30 * * * *`

  • Minute :00 Contention: Running at */30 means your job runs at minute :00 alongside system hourly tasks. If performance dips, offset to 15,45 * * * *.
  • Timezone Traps: Cron runs on system time unless overridden with TZ at the crontab top level.
  • Stale Data Caches: Ensure downstream consumers invalidate local cache tags at least every 30 minutes to match generation frequency.

Frequently Asked Questions About `*/30 * * * *`

Is */30 * * * * the same as 0,30 * * * *?

Yes, both syntaxes execute at minute 0 and minute 30 of every hour, producing identical schedules.

How do I run every 30 minutes at minutes 15 and 45?

Use explicit comma notation: 15,45 * * * * /path/to/script.sh. This avoids peak top-of-hour contention.

How many times does */30 * * * * run per day?

Exactly 48 times per day (2 runs per hour across 24 hours).

Related Cron Schedule Generators