我想为以下内容构建一个cron表达式 - 应该每两周运行一次,从每个月的特定日期开始。
我试着像这样构建表达式 -
5 4 2/14 * * *(这里我想在每个14月的04:05从2到31运行cron)
有人可以帮忙吗?
答案 0 :(得分:2)
那么,你希望它在第二天,然后14天以及14天后再次运行? 由于这不是一个庞大的列表,只需提供该列表:
5 4 2,16,30 * *
答案 1 :(得分:0)
5 4 * * 1 test $(($(date +%W)%2)) -eq 1 && your_command
好的,让它每两周运行的棘手部分是知道一周的哪一天是第一个第二天。我们假设它是星期一,这个星期一和本周(13号)。我们将专注于让它每隔一天运行一次。
5 4 * * 1
每个星期一的脚本或命令都在04:05工作
$(($(date +%W)%2))
评估数字周表达并得到他的模块(1奇数或0标准杆)
test $(($(date +%W)%2)) -eq 1
如果一周是奇数,那就错了,我们避开标准周。我们可以将它改为-eq 0,以防它需要在标准周内工作
&& your_command
如果上一个条件有效,则运行脚本或命令