Cron模式与开始和结束时间与分钟

时间:2017-01-16 06:44:09

标签: unix cron crontab

我希望从15 mins10:30 AM开始执行每个8:30 PM的工作。

我试过了30/15 10-20 * * *。但它忽略了时间11:00 AM11:15 AM12:00 PM12:15 PM1:00 PM1:15 PM等。

我想知道上面表达式的正确cron字符串。

1 个答案:

答案 0 :(得分:2)

# Run command every fifteen minutes between 10:30 and 20:30.
0,15,30,45 11-19 * * * …command…
30,45      10    * * * …command…
0,15,30    20    * * * …command…

第一行涉及从11:00到19:45的整个小时。第二行处理10:30和10:45。第三行处理20:00,20:15,20:30(假设您希望它也在20:30运行 - 如果您没有明确的修复)。

它可能不漂亮,但它会完成工作。只需确保…command…序列足够简单,重复是显而易见的。

您可以使用0/15中的cron替换第一行的第一个组件。您可以使用30/15作为第二个,但它似乎没有比编写的内容更清晰。我不确定是否有替换另一条线路的好方法。

另一种可能性是重构它,以便指定每个季度小时的小时范围:

0  11-20 * * * …command…
15 11-20 * * * …command…
30 10-20 * * * …command…
45 10-19 * * * …command…

您可以选择合并前两个。