我们想安排一个工作,该工作在第12个工作日或第12个工作日之后的第一个工作日进行。我可以在cron中指定吗?
答案 0 :(得分:2)
您无法在cron
中定义这样的逻辑,通常的方法是将其添加到要运行的脚本中。因此,每天像这样运行脚本:
0 0 * * * /path/to/script.sh
并添加到内部
if [ "$(date +%d%m)" == "0101" ]
then rm -f /var/run/flag
fi
if [ $(date +%d) -ge 12 ] && [ $(date +%w) -gt 0 ] && [ $(date +%w) -lt 6 ] && [ ! -f /var/run/flag ]
then <do the work>
touch /var/run/flag
fi
exit
另外,据我所知,您应该注意只运行一次