cron 表达式中,有办法表达每月最后两天吗?

2021-06-28 08:35:22 +08:00
 bluemartin

我知道每月最后一天是用 L 表示,例如:* * * L * ? 但每月最后两天,有没有办法用 cron 表达呢?搜索了一下没找到结果? 请大家指教。

4853 次点击
所在节点    Linux
22 条回复
justfindu
2021-06-28 08:38:41 +08:00
不能分两条吗
justfindu
2021-06-28 08:41:23 +08:00
L-1? 2L?
Exple
2021-06-28 08:42:10 +08:00
sutra
2021-06-28 08:42:21 +08:00
Workaround: 设置成每天执行,然后在脚本上判断当前时间是不是这个月的最后两天。
sutra
2021-06-28 08:42:59 +08:00
@Exple 还要考虑闰年吧。
jadec0der
2021-06-28 08:45:12 +08:00
倒数第二天 0 0 0 L-1 * ? *
cherbim
2021-06-28 09:02:42 +08:00
分成两条,
倒数第一天:0 0 18 L * ?
倒数第二天:0 0 18 L-1 * ?
AoEiuV020
2021-06-28 09:34:40 +08:00
第一反应也是每天执行用脚本判断,还是别为难 crontab 比较好,
z740713651
2021-06-28 09:37:17 +08:00
0 0 0 L-2 * ? *

https://www.freeformatter.com/cron-expression-generator-quartz.html

这么好用的工具安利一下
leavic
2021-06-28 09:58:14 +08:00
还不如每天执行一次,然脚本自己判断日期来做。
clf
2021-06-28 10:50:39 +08:00
0 0 0 L-2 * ? *
xiangyuecn
2021-06-28 11:35:30 +08:00
这货就跟正则表达式一样,老是有刁民想一句代码搞定😏😏
bluemartin
2021-06-28 14:08:06 +08:00
@xiangyuecn 哈哈,是的
bluemartin
2021-06-28 14:08:17 +08:00
@z740713651 非常好用,感谢
bluemartin
2021-06-28 14:08:34 +08:00
@cherbim 谢谢指点,就这么办了
xinyang5302677
2021-06-28 15:48:43 +08:00
每天执行一次 判断今天是不是最后两天
tankren
2021-06-28 16:15:24 +08:00
每天跑 脚本自己判断今天是哪一天不就好了
IgniteWhite
2021-06-28 23:01:47 +08:00
@xiangyuecn 哈哈哈到位,sed 用一行正则解决不了的,统统 AWK
neowong2005
2021-06-29 11:14:33 +08:00
@AoEiuV020 #8 同意
levelworm
2021-06-30 04:54:00 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/786138

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX