实际上我有一个 bash 脚本文件,我想在每个月的最后一个星期四执行它,请帮助我使用 bash 脚本找到该问题的正确解决方案。
答案1
我解决这个问题的方法是每周四(每周四天)使用 cron 运行脚本。然后我会让我的脚本通过检查下周四的月份来确定今天是否是本月的最后一个星期四。如果它与今天的月份相同,那么今天就不是本月的最后一个星期四。
这日期命令非常灵活。您可以使用格式获取月份的数值,+%m
因此今天的值为
date +%m
03
date 命令也可以做加法,所以
date +%m now+7days
将在适当的时候返回与今天不同的下个月的数值。
答案2
假设您不关心假期,您可以按如下方式在 crontab 中添加条目。请注意,由于二月只有 28 天,因此很难标准化。因此,以下脚本假设每个月的第四周星期四。
"minute" "hour" 22-28 * * /usr/bin/test $(date +%w) -eq 4 && "Your script"
有了这个脚本,usr/bin/test $(date +%w) -eq 4
会先执行。只有当它没有返回错误时,它才会执行你的脚本。