2

我将如何编写一个 Cron 表达式以在每天上午 8 点和下午 3:30 触发?我了解如何创建一个每天触发一次的表达式,而不是在多个设定时间触发。提前致谢

4

3 回答 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 回答