我将如何编写一个 Cron 表达式以在每天上午 8 点和下午 3:30 触发?我了解如何创建一个每天触发一次的表达式,而不是在多个设定时间触发。提前致谢
问问题
2636 次
3 回答
6
你应该只使用两行。
0 8 * * * command
30 15 * * * command
当然,在典型的 /etc/cron.d 格式中,将用户包含为 arg 6。表达式表示法(在我所知道的所有版本中)会给你带来一些你想要的东西(例如,表达式本质上是相加的,所以它会跑得比你想要的多)。
于 2012-09-05T04:09:44.343 回答
2
以防万一您将来需要使用 Java 语言创建 Cron 表达式,这里有一个可用于 Verbal Coding 风格的 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)
于 2016-01-30T12:03:56.937 回答
1
让它变得简单,使用一次制作的组件 - 例如。crontab 生成器:o)
于 2015-05-25T13:45:50.787 回答