首页 > 解决方案 > 使用 crontab 执行的 Python 脚本 @reboot

问题描述

大家,早安,

我正在使用 Telegram API 做一个 Telegram Bot(我只是在使用请求(http://api.telegram.org/sendMessage.....),当我手动执行我的脚本时它工作正常python myscript.py)。

我想让脚本一直运行,所以我去了我的树莓派的 crontab 并添加@reboot python /home/pi/myscript.py. 然后我做sudo reboot了,电报上没有消息......我不知道为什么它不起作用,你有同样的问题吗?

谢谢

标签: pythonpython-requestscrontelegram-bot

解决方案


cron 可能不知道在哪里可以找到 Python 解释器,因为它不共享您的用户帐户的环境变量。

有3个解决方案:

  1. 如果 Python 在/usr/bin/python,您可以更改 cron 作业以使用绝对路径:@reboot /usr/bin/python /home/pi/myscript.py

  2. 或者,您也可以使用 将 PATH 值添加到 crontab PATH=/usr/bin

  3. 另一种解决方案是在脚本文件中指定一个解释器,使其可执行,然后在您的 crontab 中调用脚本本身:

    一个。将 shebang 放在 python 文件的顶部:#!/usr/bin/python.

    湾。将其设置为可执行:$ chmod +x /home/pi/myscript.py

    C。把它放在crontab中:@reboot /home/pi/myscript.py

如果您的系统上的 Python 解释器不同,请调整它的路径。

参考


推荐阅读