使用crontab执行了@reot的Python脚本

2022-04-13 00:00:00 python cron python-requests telegram-bot

问题描述

大家早上好

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

我想让脚本一直运行,所以我转到我的覆盆子的cronTab并添加了@reboot python /home/pi/myscript.py。然后我做了sudo reboot,没有电报上的消息...我不知道它为什么不工作,您有同样的问题吗?

谢谢


解决方案

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

有3种解决方案:

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

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

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

    a.将shebang放在您的python文件的顶部:#!/usr/bin/python

    b.设置为可执行文件:$ chmod +x /home/pi/myscript.py

    c.放入cronTab:@reboot /home/pi/myscript.py

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

Reference

相关文章