cron 作业在一个月中第二个星期一之前的星期四运行

cron 作业在一个月中第二个星期一之前的星期四运行

我正在尝试编写一个 cron 计划,在一个月的第二个星期一之前的星期四运行一项作业。到目前为止我有这个

0 0 8 ? * MON#2

但这是在该月的第二个星期一进行的。有没有办法让我从那个时间倒退四天到上周四?

例如,对于 2016 年 9 月,该月的第二个星期一是该月的 12 号。因此,我想将其安排在上周四(即该月的 8 号)运行。

答案1

我认为你不能在 cron 中做到这一点。也许0 0 * * 4您应该每个星期四运行一个脚本,在该脚本中,您可以检查它是否是该月第二个星期一之前的星期四。

答案2

0 0 * * 4 [ $(date +\%d) -ge 4 -a $(date +\%d) -le 10 ] && run-script

在星期四(此处为该月任意一天的午夜)运行一个使用 test ( [) 的 crontab 条目,并date查看该月的某一天是否包含 4..10(含)。如果是这样,请运行您想要的任何脚本。

相关内容