我编写了一个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') 这样的完整路径。
现在可以了!!是的