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
* * 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯