在 crontab 中,星期几字段是从 0 - 6
还是 1 -7
运行的?
我看到这方面的信息相互矛盾。维基百科声明 0-6
和我见过的其他网站是 1-7
。
还有什么含义,或者不正确地使用 0
或 7
?即 cron 还会运行吗?
最佳答案
0
和 7
都代表星期日,你可以使用你想要的,所以写 0-6 或 1-7 的结果是一样的。
另外,正如@Henrik 所建议的,可以用缩短的日期名称替换数字,例如 MON
、THU
等:
0 - Sun Sunday
1 - Mon Monday
2 - Tue Tuesday
3 - Wed Wednesday
4 - Thu Thursday
5 - Fri Friday
6 - Sat Saturday
7 - Sun Sunday
图形上,* * * * * command to be executed
代表:
分钟 | 小时 | 一个月中的哪一天 | 月 | 星期几 | |
---|---|---|---|---|---|
(0-59) | (0-23) | (1-31) | (1-12) | (1-7) | |
* | * | * | * | * | 要执行的命令 |
或者使用旧样式:
┌────────── minute (0 - 59)
│ ┌──────── hour (0 - 23)
│ │ ┌────── day of month (1 - 31)
│ │ │ ┌──── month (1 - 12)
│ │ │ │ ┌── day of week (0 - 6 => Sunday - Saturday, or
│ │ │ │ │ 1 - 7 => Monday - Sunday)
↓ ↓ ↓ ↓ ↓
* * * * * command to be executed
最后,如果要指定天数,可以用逗号分隔天数,例如SUN,MON,THU
将只在星期日执行命令,星期一在星期四执行。
您可以在 Wikipedia's article about Cron 中阅读更多详细信息并使用 crontab.guru 在线检查 cron 表达式.
https://stackoverflow.com/questions/18919151/