我正在尝试运行python3脚本来检查特定条件的电子邮件,每天在特定时间 .
我可以看到crontab调用命令,但脚本没有给我我需要的结果,即 . 似乎没有运行 . 我可以在syslog中看到cron执行:
8月3日16:25:01 raspberrypi / USR / SBIN / CRON [4597] :( pi)CMD(cd / home / pi / pythonscripts)8月3日16:25:01 raspberrypi / USR / SBIN / CRON [4598]: (pi)CMD(sudo python3 dfj_gmail_test_v1g.py> /home/pi/pythonscripts/cronlog.log)8月3日16:25:02 raspberrypi / USR / SBIN / CRON [4595] :( CRON)info(未安装MTA,丢弃)输出)
python脚本需要运行,检查gmail,如果发现某个主题的某个电子邮件,它应该通过我的覆盆子上的GPIO打开LED,这对我来说更像是一个测试 . 如果我从命令行本身运行脚本(使用我的crontab中的行),脚本会执行检查并点亮指示灯 . 所以剧本本身很好 . 有关如何获取有关python脚本无法通过cron工作的更多信息的任何想法?
如果需要我可以添加python 3代码
1 回答
看来你有两个不同的cron工作,一个在做
和另外一个
这些是独立的作业,第一个不会影响第二个作业,因此第二个作业的工作目录不会被更改,也不会找到脚本 . 如果你想要这个,你需要为两者使用一个命令,例如:
或者,如果工作目录并不重要,请提供python文件的完全限定路径:
另外,从crontab使用
sudo
的instad,请考虑直接使用root用户的contab . 并且您应该将stderr和stdout重定向到您的日志文件,这将在出现错误时提供更详细的输出,例如:或者安装MTA,然后cront作业的输出将作为电子邮件发送给所有者 .