如何创建在特定时间之间工作的Cron表达式
我正在为一个作业开发一个Cron表达式,该作业必须在工作日每10分钟运行一次,从上午7:30到上午8:20(包括在内) 我使用的触发器:- 0 30/10 7-9 ? * 星期一、星期二、星期三、星期四*如何创建在特定时间之间工作的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
问题是它在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分钟)