Skybin Technology
web-development20 May 2026

Cron Expressions for Kubernetes and Linux — A Practical Guide

Understand 5-field cron syntax, common schedules for CronJobs and crontab, and use Skybin's free Cron Parser to see plain English and next run times.

By Anwar Javed·
kubernetescrondevopsdeveloper-toolsscheduling
Cron Expressions for Kubernetes and Linux — A Practical Guide

Schedules in Kubernetes CronJob manifests and Linux crontab files use the same five-field cron syntax. A small typo (* in the wrong column) can run a backup job every minute instead of once a day — or not at all.

This post explains the format, gives copy-paste patterns for Kubernetes, and links to our free Cron Parser on skybin.io.


The five fields

┌──────────── minute (0–59)
│ ┌────────── hour (0–23)
│ │ ┌──────── day of month (1–31)
│ │ │ ┌────── month (1–12)
│ │ │ │ ┌──── day of week (0–7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

Special characters:

Char Meaning
* Any value
, List (1,15 = 1st and 15th)
- Range (9-17 = 9am–5pm)
/ Step (*/15 = every 15 units)

Kubernetes uses the standard 5-field form in spec.schedule. Quartz-style 6-field cron (with seconds) is not the same — do not paste Quartz expressions into a K8s manifest without converting.


Patterns we use in production

Schedule Expression Use case
Every minute * * * * * Debugging only — rarely in prod
Every 15 minutes */15 * * * * Health pings, queue drain
Hourly 0 * * * * Top of each hour
Daily midnight UTC 0 0 * * * Reports, cleanup
Weekdays 9am 0 9 * * 1-5 Business-hours jobs
Monday 9am 0 9 * * 1 Weekly digest
First of month 0 0 1 * * Billing, archives

Example Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: nightly-report
spec:
  schedule: "0 2 * * *"   # 02:00 every day
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: report
              image: your-registry/report-runner:latest
          restartPolicy: OnFailure

Timezones matter

crontab on a server uses the machine timezone. Kubernetes CronJob schedules are interpreted in the controller manager timezone (often UTC on managed clusters). Document whether 0 9 * * * means UTC or local — and use Timezone Converter when coordinating across regions.

For Unix timestamps in logs, pair cron debugging with the Epoch tool.


Validate before you deploy

Before merging a manifest:

  1. Paste the expression into the Cron Parser.
  2. Read the plain-English description.
  3. Confirm the next 5–10 run times match intent.
  4. Use presets in the tool for common K8s/Linux patterns.

The parser runs in your browser — no cluster access required.


Cron vs other schedulers

  • Kubernetes CronJob — native, good for cluster-internal batch work.
  • systemd timers — modern Linux VMs.
  • Cloud scheduler (EventBridge, Cloud Scheduler) — cross-service, outside the cluster.

Cron expressions are still the lingua franca; getting them right once saves pages of on-call notes.


Related Skybin tools

Explore all 36 free tools: skybin.io/free-tools.

Need help with Kubernetes platforms or CI/CD? Talk to Skybin.

Share this post

Related Posts