Mastering Cron Expressions for Kubernetes CronJobs

Stop guessing asterisks. A guide to writing perfect schedule expressions for your K8s jobs.

L
Linda Cuanca
β€’ 1 min read

You want your backup job to run β€œevery Tuesday at 3 AM.” You write: * 3 * * 2. Or is it 0 3 * * 2?

Cron expressions are notoriously hard to memorize. In Kubernetes, a bad expression means your job never runsβ€”or runs every minute and bankrupts you.

The 5 Fields of Standard Cron

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ minute (0 - 59)
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ hour (0 - 23)
β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of the month (1 - 31)
β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ month (1 - 12)
β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ day of the week (0 - 6)
* * * * *

Common Mistakes:

  1. Using * for β€œOnce”: * 14 * * * means β€œEvery minute of the 14th hour” (14:00, 14:01… 14:59). You meant 0 14 * * *.
  2. Timezone Confusion: Kubernetes CronJobs run in UTC by default. 3 AM UTC might be 10 PM EST (the previous day). Always check the .spec.timeZone field (added in K8s 1.27).

Tools to Generate Expressions

Don’t write them by hand. Use a Cron Expression Generator. These tools visualize the schedule:

  • β€œNext run: 2026-01-20 03:00:00”
  • β€œNext run: 2026-01-27 03:00:00”

[!TIP] Need a sanity check? We’re building a simpler Cron tool. For now, check your node costs on our Cluster Cost Calculator to see how expensive those nightly jobs really are.

πŸ‘¨β€πŸ’»

Linda Cuanca

Head of Sales

Read Next

Join 1,000+ FinOps and platform leaders

Get Kubernetes and ECS cost tactics delivered weekly.