首页 > 解决方案 > 为 Bi-Weekly(每 2 周)星期四创建 Cron 表达式

问题描述

我正在寻找应该在星期四每两周运行一次的 CRON 表达式。例如,如果我在 6 月 24 日星期四执行 JOB,下一次执行应该是 7 月 8 日星期四,接下来是 7 月 22 日星期四,8 月 5 日,依此类推。

标签: unixcronschedulerschedulingjob-scheduling

解决方案


AFAIK,cron 作业不喜欢在 X 大于 7 的情况下每隔 X 天安排一次。您需要通过安排在一个月的第一个和第三个星期四发生的事情来作弊,例如这个答案0 0 1-7,15-21 * 3所建议的在ServerFault上。

或者,您可以将作业本身的脚本更改为仅在奇数周执行,正如上面同一篇文章的其他 答案所建议的那样。例如:

0 0 * * 4 [ `expr \`date +\%V\` \% 2` -eq 0 ] && echo "execute script" 

此 cron 作业将在每周四运行,但脚本只会&&在当前周索引可被 2 整除的情况下运行该命令。


推荐阅读