我正在尝试使用 cron 表达式安排任务在“每月第一个星期三上午 9 点”运行。
到目前为止我得到的最好的结果是
0 9 * * 3
,翻译过来就是“周三 09:00”。但不幸的是,那是每个星期三。
是否有可能在 cron 表达式中表达这种情况?
您可以使用此语法
0 9 1W * *
1W
将指定该月的第一个星期三。
下面的答案似乎不起作用(至少根据一些在线工具)
您可以利用在第三个参数中指定多天的功能,如下所示:
0 9 1-7 * 3
尝试https://crontab.cronhub.io/中的表达式,这就是上面的描述方式:
每月第 1 日至第 7 天以及周三上午 09:00
您可以确定该月的前 7 天中只有一天是星期三,并且也是该月的第一个星期三。
对于我(CentOS)来说,使用...
0 9 1W * *
或者...
0 9 */1-7 * *
cron 抛出一般错误(与 Cron Guru 一致):
(CRON) bad day-of-month (/etc/crontab)
以下内容似乎让 CentOS 和 Cron Guru 感到高兴,并且应该是等价的,但我不明白为什么必须重复第一天(否则忽略第一天):
0 9 */1,1,2,3,4,5,6,7 * *