使用crontab执行了@reot的Python脚本
问题描述
大家早上好
我正在使用Telegram API(我只是使用请求(http://api.telegram.org/sendMessage.....))执行Telegram Bot,当我使用python myscript.py
手动执行我的脚本时,它工作得很好)。
我想让脚本一直运行,所以我转到我的覆盆子的cronTab并添加了@reboot python /home/pi/myscript.py
。然后我做了sudo reboot
,没有电报上的消息...我不知道它为什么不工作,您有同样的问题吗?
谢谢
解决方案
cron可能不知道在哪里可以找到它,因为它不共享您的用户帐户的环境变量。
有3种解决方案:
如果Python位于
/usr/bin/python
,则可以将cron作业更改为使用绝对路径:@reboot /usr/bin/python /home/pi/myscript.py
或者,您也可以使用
PATH=/usr/bin
将路径值添加到cronTab。另一种解决方案是在脚本文件中指定一个解释器,使其可执行,然后在crontab中调用脚本本身:
a.将shebang放在您的python文件的顶部:
#!/usr/bin/python
。b.设置为可执行文件:
$ chmod +x /home/pi/myscript.py
c.放入cronTab:
@reboot /home/pi/myscript.py
如果您的系统上不同,请调整到Python解释器的路径。
Reference
相关文章