我该如何编写Cron表达式以在每天上午8点和下午3点30分触发?我知道如何创建一个每天激发一次的表达式,而不是在多个设定的时间。提前感谢
您应该只使用两行。
0 8 * * * command
30 15 * * * command
当然,在典型的/etc/cron.d格式中,将用户包含为arg6。表达式表示法(在我所知道的所有版本中)会给你带来你想要的以外的东西(例如,表达式本质上是加法的,所以它会比你想要的运行更多)。
万一将来需要使用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)
让它变得简单,使用一次性组件-例如Crontab生成器:o)