crontab,想说爱你不容易

悲剧的背景

跑自动化脚本的机器连不上toast服务器了,
只能自己写个脚本每天跑了。
当然要放在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
可惜不知道为什么不生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值