Cron表达包括时间和时间

时间:2013-08-12 17:35:02

标签: cronexpression

我很难写一个cron表达式来安排周一至周六每周五上午4:30到8:30的事件。

感谢。

2 个答案:

答案 0 :(得分:2)

我认为你不能一步解决这个问题,所以一个可用的策略可能是首先通过crontab进行粗筛:

0,15,30,45 4,5,6,7,8 * * 1,2,3,4,5,6 /do-whatever

几乎没问题,它只会执行4:00 4:15和8:45,所以我们在执行脚本的开头过滤这些:

# Too early?  Then get out
if [ `date +%H%M` -lt 430 ] ; then
   exit 0
fi
# Too late?  Then get out
if [ `date +%H%M` -gt 830 ] ; then
   exit 0
fi
# start of the original script
....

答案 1 :(得分:0)

将需要3个独立的Quartz cron表达式来完全按照您的需要定义时间。

0 30 4,5,6,7,8 ? * MON,TUE,WED,THU,FRI,SAT *
0 45 4,5,6,7 ? * MON,TUE,WED,THU,FRI,SAT *
0 0,15 5,6,7,8 ? * MON,TUE,WED,THU,FRI,SAT *

编辑添加:这个Quartz cron表达式让你从早上4点到早上8点45分,就像fvu's answer一样。

0 0/15 4-8 ? * MON,TUE,WED,THU,FRI,SAT *
相关问题