Cron python脚本没有执行

时间:2012-11-27 22:01:21

标签: python cron crontab smtplib

我已经阅读了几篇文章,但我找不到帮助。

我有一个使用smtplib发送邮件的python脚本。它在从命令行调用时有效。

我有#!/usr/bin/python作为第一行,可以使用/home/pi/ipsender.pypython /home/pi/ipsender.py运行它。

我的crontab是*/1 * * * * /home/pi/ipsender.py,但我也尝试了*/1 * * * * python /home/pi/ipsender.py*/1 * * * * /usr/bin/python /home/pi/ipsender.py

which python我得到/usr/bin/pyhton并从命令行运行python我可以导入并使用smtplib就好了。

/var/log/syslog我得到:

Nov 27 22:57:01 raspberrypi /USR/SBIN/CRON[3764]: (pi) CMD (python /home/pi/ipsender.py)
Nov 27 22:57:01 raspberrypi /USR/SBIN/CRON[3763]: (CRON) info (No MTA installed, discarding output)

而我猜测没有MTA ......只是关于Cron没有发送有关它正在做什么的电子邮件,或者不是吗?

如何运行此脚本。

[编辑]

脚本的权限是

-rwxr-xr-x 1 pi   pi       551 Nov 27 22:37 ipsender.py

[EDIT2] 使用D Read中的提示我得到以下日志

starting
Traceback (most recent call last):
  File "/home/pi/ipsender.py", line 7, in <module>
    ifconfig_output = sp.check_output(["ifconfig", "wwan0"])
  File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

告诉我这条道路有一些东西。虽然在/etc/crontabPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binwhich ifconfig提供了/sbin/ifconfig。那不应该是一个问题吗?

2 个答案:

答案 0 :(得分:6)

有许多带有crons的问题......如果没有MTA,请查看输出更简单的方法 - 尝试将其连接到文件:

*/1 * * * * /home/pi/ipsender.py > /home/pi/ipsender.log 2>&1

使用print 'starting'关闭python文件以查看python文件是否开始执行正常。

答案 1 :(得分:1)

尝试保存脚本的STDOUT和STDERR:

*/1 * * * * /home/pi/ipsender.py &> /tmp/ipsender.log