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:
- Paste the expression into the Cron Parser.
- Read the plain-English description.
- Confirm the next 5–10 run times match intent.
- 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
- Cron Parser — human-readable + next runs
- Epoch — timestamp checks
- JWT Decoder — debug service account tokens
Explore all 36 free tools: skybin.io/free-tools.
Need help with Kubernetes platforms or CI/CD? Talk to Skybin.




