unix 永远不会执行的cron作业

7lrncoxx  于 2022-11-04  发布在  Unix
关注(0)|答案(6)|浏览(196)

有没有办法创建一个cron表达式来完全不运行作业?
我想到用这样的表达:
0 0 0 1 1 - 3099
......它实际上可以完成这项工作,因为它将在3099年运行,但有没有更干净的方法来完成这项工作?

zvokhttg

zvokhttg1#

如果您还在寻找即使在遥远的将来也很健壮的东西,那么可以尝试https://stackoverflow.com/a/13938099/1601531,我建议在crontab条目中使用February 31st,因为它从来不打算执行。

0 0 5 31 2 ?
clj7thdc

clj7thdc2#

我需要一个有效的cron计划(?语法在我的系统中不起作用),它可以解析真实的日期,但要有效地“从不”。我目前最好的解决方案是选择最近的闰年,看看2月29日是哪一天。2016年2月29日是星期一,所以下一个星期一2月29日是目前最远的。
0 0 29 2 1产生接下来的5个触发器:

02/29/2044 00:00:00Z
02/29/2072 00:00:00Z
02/29/2112 00:00:00Z
02/29/2140 00:00:00Z
02/29/2168 00:00:00Z

不完美,但也可以。

mxg2im7a

mxg2im7a3#

选择过去的日期。

不会再发生了。除非今天是土拨鼠日。别选土拨鼠日。

czq61nw1

czq61nw14#

我为您的问题创建了一个副本(单击此处查看),并同意您最初的建议。经过测试,Quartz似乎永远不会执行年份超过2300的cron表达式。

enxuqcxy

enxuqcxy5#

打开你的crontab文件并删除其中的条目就足够了,或者你也可以将cronjob调用的可执行文件simlink到一个空的shell脚本。
请告诉我们有关您的设置的更多信息,然后我们将看到...

qyuhtwio

qyuhtwio6#

把它注解出来--在它前面放上#标志。非常有用,特别是如果你担心到3099年你会忘记你的改变。
另一种可能性是让它执行伪命令,如true rm -rf /

相关问题