我想将工作安排在每个月的第三个星期五凌晨 1 点。我检查了几个 cron 条目网站,发现这对我不起作用。
我还检查了一些 awk 选项,到目前为止还没有成功。你们能帮我吗?
我今天尝试运行这个,cron 工作正常,但脚本在同一点连续运行并且没有完成:
0 1 15-21 * * test $(date +\%u) -eq 5 && echo "3rd friday" && Extract_Param.sh /landing/file/ABC/file.txt
答案1
不幸的是,当您在 crontab 条目中同时给出一个月中的某一天和一周中的某一天时,这意味着其中任何一个就足够了。 (我也不知道,但是联机帮助页是这么说的。)这意味着我们不能简单地计算出第三个星期五是该月 15 日到 21 日之间的星期五。
幸运的是,上面链接的手册页还向我们提供了建议:
但是,可以通过向命令添加测试来实现所需的结果(请参阅下面的 CRON 文件示例中的最后一个示例)。
[…]
# Run on every second Saturday of the month 0 4 8-14 * * test $(date +\%u) -eq 6 && echo "2nd Saturday"
所以你应该没问题
0 1 15-21 * * test $(date +\%u) -eq 5 && echo "3rd friday"