永远不会执行的cron作业

时间:2011-11-30 10:17:01

标签: unix cron

有没有办法为不运行作业创建一个cron表达式。 我虽然使用这个表达式:

  

0 0 0 1 1? 3099

上述表达式将在3099年运行。是否有其他方法可以禁用该作业。

感谢。

5 个答案:

答案 0 :(得分:55)

如果您仍在寻找即使在遥远的未来仍然强大的东西,请尝试https://stackoverflow.com/a/13938099/1601531,我建议在crontab条目中使用February 31st,这些条目从不打算执行。

0 0 5 31 2 ?

答案 1 :(得分:3)

我需要一个有效的cron计划(?语法在我的系统中不起作用),它可以解析实际日期,但要有效地“永不”。我当前的最佳解决方案是选择最近的leap年,看看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

虽然不完美,但可以。

答案 2 :(得分:1)

评论它 - 在它前面加上#标志。非常有用,特别是如果你担心在3099年之前你会忘记你的变化。

另一种可能性是让它执行伪命令,如true rm -rf /

答案 3 :(得分:0)

打开crontab文件并删除条目将是适当的方法。或者您也可以将cronjob调用的可执行文件链接到空shell脚本。

告诉我们有关您的设置的更多信息,然后我们会看到......

答案 4 :(得分:0)

我为您的问题创建了一个重复的(click here to see),并同意您的初始提案。经过测试,看起来Quartz将永远不会执行一个高于2300年的cron表达式。