首页 > 代码库 > crontab,想说爱你不easy
crontab,想说爱你不easy
悲剧的背景
跑自己主动化脚本的机器连不上toastserver了,
仅仅能自己写个脚本每天跑了。
当然要放在crontab里了。5 3 * * * sh ~/nosecron.sh
更悲剧的结果
第二天过来一看结果,FAIL了大半。
烦燥的分析
非常多都是由于:catch_pkts.append(pkt.getlayer(IP).build())
AttributeError: ‘NoneType‘ object has no attribute ‘build‘
然后在log的最前面有一句:WARNING: Failed to execute tcpdump. Check it is installed and in the PATH
手动运行tcpdump, OK
手动运行了nosecron.sh, OK
在nosecron.sh里加了句echo $PATH, 放在crontab里再跑下,竟然仅仅有:
/usr/sbin:/usr/bin
高速的解决
在nosecron.sh最前面 加上export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
巧妙的解决
在crontab里:5 3 * * * su - root -c "sh /root/nosecron.sh"
一劳永逸的解决
在crontab里最前面加上:PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
可惜不知道为什么不生效。
crontab,想说爱你不easy
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。