Bash 每半小时安排cron从晚上10点到凌晨1点

Bash 每半小时安排cron从晚上10点到凌晨1点,bash,cron,cron-task,Bash,Cron,Cron Task,我希望每半小时安排一个cron,从晚上10点到凌晨1点(包括这两个时间) 我试过这个*/30 22-0*** 在晚上11:30之后似乎不工作 或者更具体地说,我想这可以工作到晚上11:59。Cron并不总是提供语法来在一行中指定所需的时间,但通常有一种解决方法,使用两行(有时甚至更多)来指定时间 根据您的描述,显然上界小于下界的范围没有环绕;相反,它似乎一直延伸到一天/一小时/任何时候。在您的例子中,22-0显然代表小时数22和23,例如,22-5可能意味着同样的事情。(手册页对此不清楚。) 这

我希望每半小时安排一个cron,从晚上10点到凌晨1点(包括这两个时间)

我试过这个
*/30 22-0***
在晚上11:30之后似乎不工作
或者更具体地说,我想这可以工作到晚上11:59。

Cron并不总是提供语法来在一行中指定所需的时间,但通常有一种解决方法,使用两行(有时甚至更多)来指定时间

根据您的描述,显然上界小于下界的范围没有环绕;相反,它似乎一直延伸到一天/一小时/任何时候。在您的例子中,
22-0
显然代表小时数
22
23
,例如,
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
*/30 22-23***#22:00,22:30,23:00,23:30
*/30 0     * * *  # 00:00, 00:30
0    1     * * *  # 01:00

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

*/30 0,22-23 * * * <command>
0    1     * * * <command>
*/30 0,22-23**
0    1     * * * 
在某些UNIX操作系统中,这可能不起作用,您应该明确指出时间和分钟:

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

这可能会有所帮助:**/30 0,22-23***将运行22:00 22:30 23:00 23:30 0:00 0:30您可以将其移动1分钟,以接近1:00(22:29 22:59 23:29 23:29 0:29 0:59),使用29/30 0,22,23***