工作日早上 9 点执行一次的 Cron 表达式
要让任务工作日早上 9 点执行一次,使用下面的 Cron 表达式。它的含义是:在09:00, 星期一至星期五。
0 9 * * 1-5 在09:00, 星期一至星期五 逐字段解释
| 字段 | 值 | 含义 |
|---|---|---|
| 分钟 | 0 | 等于 0 |
| 小时 | 9 | 等于 9 |
| 日 | * | 任意值 |
| 月 | * | 任意值 |
| 星期 | 1-5 | 从 1 到 5 |
要让任务工作日早上 9 点执行一次,使用下面的 Cron 表达式。它的含义是:在09:00, 星期一至星期五。
0 9 * * 1-5 在09:00, 星期一至星期五 | 字段 | 值 | 含义 |
|---|---|---|
| 分钟 | 0 | 等于 0 |
| 小时 | 9 | 等于 9 |
| 日 | * | 任意值 |
| 月 | * | 任意值 |
| 星期 | 1-5 | 从 1 到 5 |
Linux crontab
# crontab -e
0 9 * * 1-5 /path/to/script.sh >> /var/log/job.log 2>&1 GitHub Actions
on:
schedule:
- cron: '0 9 * * 1-5' # UTC 时间 Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: my-job
spec:
schedule: "0 9 * * 1-5"
timeZone: "Asia/Shanghai"
jobTemplate:
spec:
template:
spec:
containers:
- name: job
image: busybox
command: ["date"]
restartPolicy: OnFailure Spring @Scheduled
// Spring 多一个“秒”字段,放在最前面
@Scheduled(cron = "0 0 9 * * 1-5")
public void run() { /* ... */ } 注意:Cron 按运行环境的时区执行。服务器和 GitHub Actions 通常是 UTC,Kubernetes 可以用 timeZone 指定。