我将如何编写一个Cron表达式,以便在每天上午8点和下午3:30触发? 我知道如何创建一个表达式,每天触发一次,而不是在多个设定时间。 提前致谢
答案 0 :(得分:4)
你应该使用两行。
0 8 * * * command
30 15 * * * command
当然,在典型的/etc/cron.d格式中,将用户包含为arg 6.表达式表示法(在我所知的所有版本中)将为您提供除您想要的之外的其他内容(例如,表达式本质上是附加的,所以它会跑得比你想要的多。)
答案 1 :(得分:1)
轻松一点,使用一次制作的组件 - 例如。 Crontab generator:o)
答案 2 :(得分:1)
以防您以后需要使用Java语言创建Cron表达式, 这是一个可用于语音编码风格的API
https://github.com/mabidshafiq/VerbalCronExpression
您的方案的示例是,
String exp = ce.cronExp()
.minuteOfHour("0")
.hourOfDay("8")
.everyDay()
.everyMonth()
.generate();
它将生成0 8 * * *
并且为了您的理解
* * * * * *
| | | | | |
| | | | | +-- Year (range: 1900-3000)
| | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month (range: 1-31)
| +---------- Hour (range: 0-23)
+------------ Minute (range: 0-59)