Cron定期调用Bash脚本时Python脚本无法执行问题已解决
解决Cron调用Bash脚本时Python脚本失效的问题
我的问题场景
之前我配置了一个Cron定时任务,想要每数小时自动运行一个Bash脚本,结果发现脚本里调用的两个Python脚本根本没正常执行——手动跑Bash脚本是没问题的,但通过Cron触发就不行,折腾了好一阵。
尝试的修复步骤
为了搞定这个问题,我试了三个办法:
- 给Python脚本加上执行权限:
chmod +x /full/path/to/your/python_script.py - 在
/etc目录下新建了cron.allow文件,里面只写了我的用户名pi,用来限制Cron的使用权限 - 修改Bash脚本里的Python调用命令,把相对路径改成了完整的绝对路径,比如把
python my_script.py改成python /home/pi/my_scripts/my_script.py
结果
幸运的是,现在问题已经解决了!Cron定时触发Bash脚本后,里面的Python脚本也能正常工作了。不过说实话,我没法确定到底是哪一招起了作用——毕竟Cron的坑有时候是好几个小问题凑在一起的。
最后必须要感谢glenn jackman和Abhijit Pritam,他们的建议帮我找到了修复的方向!
内容的提问来源于stack exchange,提问作者Soumil Heble
相关产品推荐
相关产品推荐

