【发布时间】:2016-02-25 04:25:41
【问题描述】:
我想在每个星期六运行一个脚本,每个月的第一个星期六除外。 (该脚本会监控一个维护窗口,该窗口在每月的第一个星期六会更长。)
这是我所拥有的:
*/15 17-18 8-31 * * [ "$(date '+\%a')" = "Sat" ] && <Then run my script>
这是我正在查看的内容:
*/15 17-18 * * 6 [ "$(date '+\%d')" > "7" ] && <Then run my script>
我觉得第一个示例创建了太多不必要的尝试,因为它在每个月的前 7 天之后每天都运行,但只会在星期六处理监视脚本。
在第二个示例中,我尝试仅在星期六运行脚本,但前提是该月的日期大于 7。我不确定如何使用“日期”结果来执行此操作来自date 命令,我不确定这是否可行。具体来说,我应该使用“>”符号还是“gt”类 bash 函数?
除了我这里有什么更好的方法来实现这一点吗?
感谢您的意见。我查看了与此类似的其他示例,但其中大多数仅涉及在每月的第一个周末运行脚本。
【问题讨论】: