Kubernetes CronJob Cron Expression Guide
Kubernetes CronJob uses standard 5-field cron syntax plus @hourly, @daily, @weekly, @monthly, and @yearly aliases. The builder generates a complete CronJob YAML manifest — copy and apply directly with kubectl.
Live Builder
Valid
MINMinute
0HRHour
9DOMDay of Month
*MONMonth
*DOWDay of Week
1-5In plain English
At 09:00 AM, Monday through Friday
English → Cron
Try: "every 5 minutes", "every weekday at 9am", "every Monday at 3pm", "every month on the 1st"
Next 10 Executions
UTC- 1Mon, May 18, 09:00 AM UTCin 3d
- 2Tue, May 19, 09:00 AM UTCin 4d
- 3Wed, May 20, 09:00 AM UTCin 5d
- 4Thu, May 21, 09:00 AM UTCin 6d
- 5Fri, May 22, 09:00 AM UTCin 7d
- 6Mon, May 25, 09:00 AM UTCin 10d
- 7Tue, May 26, 09:00 AM UTCin 11d
- 8Wed, May 27, 09:00 AM UTCin 12d
- 9Thu, May 28, 09:00 AM UTCin 13d
- 10Fri, May 29, 09:00 AM UTCin 14d
crontab entrybash
# Add to crontab with: crontab -e
0 9 * * 1-5 /path/to/your/script.shSyntax Overview
Field order
MIN
Minute
HR
Hour
DOM
Day of Month
MON
Month
DOW
Day of Week
0 9 * * 1-5Example: At 09:00 AM, Monday through Friday
Common Expressions
0 9 * * 1-5—Every weekday at 9am@daily—Once per day at midnight*/5 * * * *—Every 5 minutes@hourly—Once per hour0 0 1 * *—1st of every month at midnight0 2 * * *—Every day at 2am for overnight jobsFrequently Asked Questions
What timezone does Kubernetes CronJob use? ▾
By default, Kubernetes CronJob uses UTC. As of Kubernetes 1.25+, you can specify a timezone with the "timeZone" field in the CronJob spec: timeZone: "America/New_York".
How do I prevent concurrent CronJob executions? ▾
Set "spec.concurrencyPolicy: Forbid" to skip a run if the previous one hasn't finished, or "Replace" to cancel the running job and start a new one. The default "Allow" permits concurrent executions.
What is startingDeadlineSeconds in a CronJob? ▾
"startingDeadlineSeconds" defines how many seconds past a missed schedule the job can still start. If a job misses its scheduled time (e.g., the controller was down), it will only start if the delay is within this window.
How many missed jobs does Kubernetes track? ▾
Kubernetes tracks the last 100 missed schedules. If more than 100 are missed, the CronJob controller logs an error and the missed runs are lost. This is relevant if the controller is offline for a long period.
Can I manually trigger a Kubernetes CronJob? ▾
Yes — run: kubectl create job --from=cronjob/my-cronjob manual-trigger-1. This creates a Job directly from the CronJob template without waiting for the next scheduled run.