每半小时从10PM到1AM的时间表cron

问题描述 投票:-2回答:2

我正在计划每半小时从10PM到1AM(包括两者)安排cron。

我尝试过此*/30 22-0 * * *晚上11:30后似乎无法正常工作或具体来说,这要到11:59 PM才行。

bash cron cron-task
2个回答
1
投票

Cron并不总是提供语法来指定您希望在单行中显示的时间,但是通常有一种使用两行(或更多行)的解决方法。

根据您的描述,显然其上限小于其下限的范围不会环绕;而是似乎延伸到一天/小时/无论什么时候结束。在您的情况下,22-0显然表示小时2223,例如22-5可能表示同一意思。 (此手册页尚不清楚。)

这应该可以解决问题,尽管我没有机会进行测试:

*/30 22-23 * * * <command> # 22:00, 22:30, 23:00, 23:30
*/30 0     * * * <command> # 00:00, 00:30
0    1     * * * <command> # 01:00

1
投票

基于另一个答案:通过合并22-23和0小时的记录,您可以使克朗减少一行:

*/30 0,22-23 * * * <command>
0    1     * * * <command>

在某些UNIX操作系统中,这可能不起作用,您应该明确提及小时和分钟:

0,30 0,22,23 * * * <command>
0    1     * * * <command>
© www.soinside.com 2019 - 2024. All rights reserved.