如何创建在特定时间之间工作的Cron表达式

如何创建在特定时间之间工作的Cron表达式,cron,Cron,我正在为一个作业开发一个Cron表达式,该作业必须在工作日每10分钟运行一次,从上午7:30到上午8:20(包括在内) 我使用的触发器:- 0 30/10 7-9 ? * 星期一、星期二、星期三、星期四* 问题是它在8.20之后也能工作吗?我们可以限制在特定的分钟或结束时间吗?如7:30~8:20/P>> P>一些不能在一个表达式中做的事情,你可以考虑使用两个: # Example of job definition: # .--------------------- minute (0 - 5

我正在为一个作业开发一个Cron表达式,该作业必须在工作日每10分钟运行一次,从上午7:30到上午8:20(包括在内)

我使用的触发器:- 0 30/10 7-9 ? * 星期一、星期二、星期三、星期四*


问题是它在8.20之后也能工作吗?我们可以限制在特定的分钟或结束时间吗?如7:30~8:20/P>> P>一些不能在一个表达式中做的事情,你可以考虑使用两个:

# Example of job definition:
# .--------------------- minute (0 - 59)
# |       .------------- hour (0 - 23)
# |       |  .---------- day of month (1 - 31)
# |       |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |       |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |       |  |  |  |
# *       *  *  *  *   command to be executed
# This runs on 7:30, 7:40, 7:50
 30/10    7  *  * 1-5  command
# This runs on 8:00, 8:10, 8:20
 0-20/10  8  *  * 1-5  command
您可以尝试的另一种方法是使用测试

# Example of job definition:
# .--------------------- minute (0 - 59)
# |      .------------- hour (0 - 23)
# |      |   .---------- day of month (1 - 31)
# |      |   |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |      |   |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |      |   |  |  |
# *      *   *  *  *   command to be executed
*/10    7,8  *  * 1-5  testcmd && command
其中,
testcmd
是一个可执行脚本,看起来像:

#!/usr/bin/env bash
hours=$(date "+%H")
minutes=$(date "+%M")
(( hours == 7 && minutes >= 30)) || (( hours == 8 && minutes <= 20 ))
#/usr/bin/env bash
小时数=$(日期“+%H”)
分钟数=$(日期“+%M”)
((小时==7分钟>=30))| |((小时==8分钟)