首页 > 解决方案 > 每个月底运行工作的表达式:骆驼,石英

问题描述

我试图在每个月底运行我的工作,但每次添加 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 ? * *}]

标签: cronapache-camelquartz

解决方案


我们将在每个月的 28、28、29 和 31 日安排 cron。现在查找今天是否是该月的最后一天。要找到它,请检查第二天是否是第二天的第 1 天,然后只执行任何命令。

下面的命令将返回第二天的日期。

日期 +%d -d 明天

现在检查明天是否是 01。

[ "$(date +%d -d 明天)" = "01" ] && echo "True"

如果第二天是 01,那么上面的命令将在屏幕上打印“True”。在这里,您可以在 crontab 中使用上述脚本并使用您的命令更改 echo。

59 23 28-31 * * [“$(日期 +%d -d 明天)”=“01”] && /root/script.sh

在下面的网址中查看更多信息。

CRON 作业在该月的最后一天运行

石英调度程序:在每月的最后一天运行

来自("cron://ratingTimer?schedule=0+0+3+L+*+?")


推荐阅读