永发信息网

linux 定时每月第三个完整周之后的第一天执行脚本,应该怎么写

答案:2  悬赏:50  手机版
解决时间 2021-11-11 19:41
  • 提问者网友:半生酒醒
  • 2021-11-11 10:07
linux 定时每月第三个完整周之后的第一天执行脚本,应该怎么写
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-11-11 11:07
分 时  天 月 星期
* * 22-28 * 1采取两个极端时间
假如当月第一天是星期1,刚好3个完整周就是21天,所以执行在第22天
假如当月第一天是星期2,那么3个完整周就是21天+前面6天=27天,那么执行在第28天
所以在第22天到28天之间绝对是三个完整周结束的时间,再最后取星期1
全部回答
  • 1楼网友:廢物販賣機
  • 2021-11-11 12:19

好像没法简单通过cronjob实现,cronjob只能定义到周几,至于第三个完整周需要在脚本里面判断了

假设

0 8 * * 1 XXX.sh

就是每周周一早上8点执行脚本XXX.sh

然后在脚本里面写个判断,判断可能不是很准确,因为这个比较难算,只能大概的推算

TIME=`date -d 'today -2 weeks' +%d`   #将这周的周一日减去14看得到的值多少来判断是否第三周
if [ $TIME -gt 1 && $TIME -lt 10 ]
then
./XXX.sh
fi
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯