有没有办法为不运行作业创建一个cron表达式。 我虽然使用这个表达式:
0 0 0 1 1? 3099
上述表达式将在3099年运行。是否有其他方法可以禁用该作业。
感谢。
答案 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表达式。