/

Cron: Every 12 Hours

0 */12 * * * fires twice a day, at midnight and noon — the largest even hour-step short of once daily. It's the schedule behind most 'twice a day' automation: medication reminders, AM/PM reports, and sync jobs that need morning and evening coverage without full hourly polling.

0 */12 * * *

Examples & Variations

0 */12 * * *

Every 12 hours: midnight and noon

Try it

0 8,20 * * *

Every 12 hours, offset to 8 AM and 8 PM

Try it

0 9,21 * * 1-5

Every 12 hours, weekdays, 9 AM and 9 PM

Try it

Common Mistakes

  • Assuming every-12-hours automatically means 'morning and evening' in a user-friendly sense — the default midnight/noon split isn't when most people want a reminder or report; use an explicit list for meaningful times.
  • Using this interval when 'twice daily' framing (see the dedicated Twice Daily page) would be clearer to whoever reads the crontab later — both produce the same schedule, but explicit hours read better.
  • Forgetting that exactly 2 runs a day means a single missed execution is a 50% gap in that day's coverage — worth monitoring for anything important.

Best Practices

  • For anything user-facing (reminders, digests), pick explicit AM/PM hours (like 8,20) rather than the midnight/noon default, which rarely matches when people actually want to be reached.
  • This is a reliable, low-overhead cadence for sync jobs and reports that need same-day but not real-time freshness.
  • Add basic run-tracking or alerting given how few checkpoints exist per day — a silent failure here is proportionally more significant than in a high-frequency schedule.

Frequently Asked Questions

Is 0 */12 * * * the same as twice-daily?
They produce the same two-runs-per-day pattern, but 'twice daily' typically implies specific meaningful hours (like 8 AM and 8 PM) rather than the step form's default midnight/noon split — see the dedicated Twice Daily page for that framing.
How do I run every 12 hours at 9 AM and 9 PM instead of midnight/noon?
Use an explicit list: 0 9,21 * * * — the step syntax always starts at 0, so a custom offset needs the list form instead.
Is every 12 hours enough for a backup schedule?
For many workloads, yes — it roughly halves the potential data loss window compared to a single daily backup, without the overhead of more frequent snapshots.