我试图在每个月底完成工作,但是每次添加cron表达式时都会出错:
from(“ timer:// ratingTimer?cron = 0 + 52 + 12 + + + ”) 这是我正在尝试在特定时间工作。 引起原因:org.apache.camel.ResolveEndpointFailedException:无法解析端点:timer:// ratingTimer?cron = 0 + 52 + 12 +%3F + + *,原因是:有1个参数不能在端点上设置。检查uri是否正确拼写了参数,并且它们是端点的属性。未知参数= [{cron = 0 52 12? * *}]
答案 0 :(得分:0)
我们将在每个月的28、28、29和31日安排cron。现在查找今天是否是该月的最后一天。要找到它,请检查第二天是否为第二天01日,然后仅执行任何命令。
以下命令将返回第二天的日期。
日期+%d -d明天
现在检查明天是否是01。
[“ $(日期+%d -d明天)” =“ 01”] &&回声“ True”
如果第二天是01,则上述命令将在屏幕上显示“ True”。在这里,您可以在crontab中使用上述脚本,并使用命令更改echo。
59 23 28-31 * * [“ $(日期+%d -d明天)” =“ 01”] && /root/script.sh
在下面的网址中查看更多信息。
CRON job to run on the last day of the month
AND
quartz scheduler: run on last day of the month
from(“ cron:// ratingTimer?schedule = 0 + 0 + 3 + L + * +?”)