为什么我的 crontab 请求无法调用 python 脚本

Why my crontab request dont work to call a python script

在 Raspberry Pi 3B+ 运行 在 Raspberry Pi OS 64。 试图让 Python 脚本每分钟执行一次,但不起作用。 要编辑 crontab,我使用:

sudo crontab -e

并将这一行放入文件中:

*/1 * * * * sudo /bin/python3 /home/pi/Documents/script_test01.py`

我也试过了:*/1 * * * * sudo python3 /home/pi/Documents/script_test01.py

这是我的脚本,只需在 MQTT 代理中发布(脚本通过直接调用 shell: python3 script_test01.py):

#!/usr/bin/env python3
import time
import paho.mqtt.client as mqtt

client_mqtt = mqtt.Client("Script-crontab")

client_mqtt.connect("localhost")
client_mqtt.publish("RandomTempValuesSimulator", "Hello !")
client_mqtt.disconnect()

exit()

我停止并启动了 cron 服务:

sudo systemctl stop cron.service
sudo systemctl start cron.service

没有更多的事情发生。

确保您的脚本是可执行的。解释器通常位于 /usr/bin/python3(而不是 /bin/python3),但您不需要它,因为您的脚本顶部有 #!

为什么要编辑 root 的 crontab?为什么不只是你自己的?检查您的 /var/log/syslog 文件是否存在执行错误。

已解决。 当我做 crontab -l 时,我有 no crontab for pi user.

问题在没有“sudo”的情况下通过命令 crontab -e 解决并编辑打开的空白 crontab 文件并输入此命令:*/1 * * * * /bin/python3 /home/pi/Documents/script_test01.py