首页/云/Kubernetes 速查/CronJob 定时任务基础

CronJob 定时任务基础

按 cron 表达式周期性创建 Job:备份、报表、清理等定时作业;理解调度与 Job 模板的关系是使用前提。

Kubernetes 速查云更新于 2026-10-12

CronJob 清单

CronJob 清单
apiVersion: batch/v1
kind: CronJob
metadata:
  name: nightly-backup
spec:
  schedule: "0 2 * * *"        # 每天 02:00
  suspend: false
  jobTemplate:
    spec:
      backoffLimit: 2
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: backup
              image: registry.example.com/backup:1.4
              command: ["./backup.sh"]

管理操作

管理操作
kubectl get cronjob
kubectl get jobs --watch
kubectl create job --from=cronjob/nightly-backup manual-run-1
kubectl patch cronjob nightly-backup -p '{"spec":{"suspend":true}}'
cron 表达式五段:分 时 日 月 周;用 '0 2 * * *' 这类写法注意引号(避免 shell 展开 *)。

易错点

  • cron 表达式按控制器时区解释(旧版本用 kube-controller-manager 时区,新版本支持 spec.timeZone)
  • 手动触发用 kubectl create job --from=cronjob/...,不要改 schedule 来「立刻跑一次」

数据来源与参考

  • Kubernetes 官方文档 · CronJob
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌