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