⚡
fasttools.me
Run Cron Job Every 6 Hours (0 */6 * * *)
Quarter-Day Cadence • 4 Executions Daily

Run Cron Job Every 6 Hours (0 */6 * * *)

Configure jobs running every 6 hours (0 */6 * * *). Visual syntax breakdown, upcoming quarterly day timetable, and production scripts.

Direct Answer Definition

To run a cron job every 6 hours in Linux, use the expression 0 */6 * * *. This configuration divides the day into four equal quadrants, executing at 00:00 (midnight), 06:00 (6 AM), 12:00 (noon), and 18:00 (6 PM) every day.

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

Every 6 hours, at minute 0

Standard Schedule PresetsClick to load

Interactive 5-Field Workbench

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

1. Minute0
0 – 59
2. Hour*/6
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 12:00:00 UTC
in 2h 57m
22026-10-08 18:00:00 UTC
in 8h 57m
32026-10-09 00:00:00 UTC
in 14h 57m
42026-10-09 06:00:00 UTC
in 20h 57m
52026-10-09 12:00:00 UTC
in 1d 2h

Crontab Command Snippet

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

Ready to paste in `crontab -e`0 */6 * * * 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 `0 */6 * * *`

PositionField NameAllowed ValuesValue in `0 */6 * * *`Evaluation Meaning
1Minute0 – 5900 (At minute 0)
2Hour0 – 23*/6*/6 (Hours 0, 6, 12, and 18)
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

Quarter-Day Scheduling Architecture

A 6-hour interval matches the natural rhythm of global business days across Pacific, European, and Asian time zones. It is commonly used for currency exchange updates, intermediate database checkpointing, and anti-spam blocklist downloads.

Dividing 24 by 6 yields exactly 4 runs daily: midnight, 6:00 AM, 12:00 PM, and 6:00 PM. Each quadrant represents a distinct commercial window across major trading markets.

Because runs occur 6 hours apart, transient infrastructure hiccups (such as an upstream API 503 error) have ample time to recover before the subsequent scheduled invocation.

Real-World Server Implementations

Common Production Scenarios for `0 */6 * * *`

Case 01

IP Reputation & Spam Blocklist Update

Downloads updated CIDR IP blocklists from Spamhaus and Project Honey Pot to update local iptables and Nginx firewall rules.

/usr/local/bin/update_spam_blocklists.sh
Case 02

Intermediate S3 Database Snapshot

Creates interim database WAL delta backups every 6 hours to minimize Recovery Point Objective (RPO) in disaster recovery.

/usr/bin/wal-g backup-push /var/lib/postgresql/data
Case 03

Exchange Rate & Crypto Price Cache Refresh

Fetches official mid-market currency benchmark rates and updates local Redis cash drawers for consumer checkout pages.

/usr/bin/node /opt/finance/sync_benchmarks.js
Operational Traps & Failure Modes

Production Gotchas When Running `0 */6 * * *`

  • Noon & 6 PM Traffic Peaks: Invocations at 12:00 and 18:00 coincide with peak consumer lunchtime and evening traffic. Stagger heavy batch work to minute 30 (30 */6 * * *).
  • Network Timeouts: When querying third-party APIs on a 6-hour interval, configure retry backoff so a single failed request does not leave stale data for 6 hours.
  • Timezone Drift: 06:00 UTC corresponds to 01:00 AM Eastern. Ensure server clocks are synchronized to UTC using chrony or systemd-timesyncd.

Frequently Asked Questions About `0 */6 * * *`

What exact times does 0 */6 * * * execute?

It executes at 00:00 (midnight), 06:00 (6 AM), 12:00 (noon), and 18:00 (6 PM) in the system's configured timezone.

How do I run every 6 hours starting at 3 AM?

Use explicit comma list notation in the hour field: 0 3,9,15,21 * * * /path/to/script.sh. This maintains a 6-hour gap while offsetting from midnight.

Can I use @every_6_hours?

No, standard Unix cron does not support an @every_6_hours macro. You must use the POSIX expression 0 */6 * * *.

Related Cron Schedule Generators