Python 脚本使用 crontab 执行 @reboot
Python script executed @reboot with crontab
大家早上好,
我正在使用 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=/usr/bin
.
将 PATH 值添加到 crontab
另一个解决方案是在脚本文件中指定一个解释器,使其可执行,然后在您的 crontab 中调用脚本本身:
一个。将 shebang 放在 python 文件的顶部:#!/usr/bin/python
.
b。将其设置为可执行文件:$ chmod +x /home/pi/myscript.py
c。放在crontab中:@reboot /home/pi/myscript.py
如果您的系统上的 Python 解释器路径不同,请调整它。
大家早上好,
我正在使用 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 值添加到 crontabPATH=/usr/bin
.另一个解决方案是在脚本文件中指定一个解释器,使其可执行,然后在您的 crontab 中调用脚本本身:
一个。将 shebang 放在 python 文件的顶部:
#!/usr/bin/python
.b。将其设置为可执行文件:
$ chmod +x /home/pi/myscript.py
c。放在crontab中:
@reboot /home/pi/myscript.py
如果您的系统上的 Python 解释器路径不同,请调整它。