有时候我们需要定时执行一个脚本,那么我们可以使用cronjob来完成,例如:1004***/usr/local/bin/somework.sh有时候,我们只想在工作日执行这个脚本,例如:1004**1-5/usr/local/bin/somework.sh但是有时候工作日并不是简单的周一到周五,比如赶上小长假或者有些事,有时我们周六要上班,有时我们周一不上班。这个时候这样的设置很容易乱,那我们怎么设置这个cronjob,让它可以预测我们的假期安排,让它一点都不乱呢?仅使用cron是不够的。我们需要在脚本中调用一个开放的接口,知道节假日的安排,然后我们就可以按计划执行了。这个开放接口在这里:https://github.com/NateScarle...我们简单写一个脚本:#!/usr/local/bin/python"""每天定时执行脚本"""importdatetimeimportrequestsdefwill_work(date):"""检查当天是否需要工作"""holiday_data=requests.get(url='https://natescarlet.coding.net/p/github/d/holiday-cn/git/raw/master/2022.json'.json()#放入公司规定的特殊出勤日holiday_data['days'].append({'date':'2022-06-21','isOffDay':False})#检查日期是否在列表中)]ifdays_in_list:#是否在节假日表中,如果在表中,returnnot(days_in_list[0]["isOffDay"])else:#按照周一到周五的时间表returnTrueifdate.weekday()<5elseFalsedefmain():"""主函数"""ifwill_work(datetime.datetime(2022,6,21,0,0,0,0)):print("今天上班")else:print("Notgoingtoworktoworktoday")if__name__=='__main__':main()给它执行权限:chmod+xsomework.py然后设置一个cronjob:1004***/usr/local/bin/somework.py可以在每个工作日执行
