Raspberry 上的 Python Scrips - ssh 可以工作,但 cronjob 不行

Raspberry 上的 Python Scrips - ssh 可以工作,但 cronjob 不行

我编写了一个python脚本来检查网站并最终发送电子邮件。我将脚本复制到我的树莓派中,当我通过ssh它执行它时,它工作正常。但当我让它通过 crontab 执行时,它却没有执行。在系统日志中,我可以看到脚本已执行,但出现以下错误:

Apr  2 14:25:01 raspberrypi CRON[28850]: (pi) CMD (sudo /usr/bin/python3 /home/pi/Desktop/Script/main.py >> /home/pi/Desktop/Script/log.txt)
Apr  2 14:25:04 raspberrypi sSMTP[28854]: Unable to connect to "smtp.cablelink.at" port 587.
Apr  2 14:25:04 raspberrypi sSMTP[28854]: Cannot open smtp.cablelink.at:587
Apr  2 14:25:04 raspberrypi cron[430]: sendmail: Cannot open smtp.cablelink.at:587
Apr  2 14:25:04 raspberrypi CRON[28849]: (pi) MAIL (mailed 220 bytes of output but got status 0x0001 from MTA#012)

crontab 条目如下所示:

* * * * * /usr/bin/python3 /home/pi/Desktop/Scrabber/main.py >> /home/pi/Desktop/Scrabber/log.txt

我认为这不是权限问题,因为我可以看到 crontab 是作为用户执行的,pi以及当我使用ssh命令时。

提前致谢。

答案1

刚刚知道发生了什么事。问题是,在我的 python 脚本中,我有一个名为 open('logfile.txt') 的链接。当我使用 ssh 时它可以工作,但是 cronjob 需要像 open('home/..../logfile.txt') 这样的完整路径。

现在可以了!!是的

相关内容