Cron-python脚本未执行

Cron-python脚本未执行,python,cron,crontab,smtplib,Python,Cron,Crontab,Smtplib,我读过一些关于这方面的帖子,但我找不到帮助 我有一个使用smtplib发送邮件的python脚本。它在从命令行调用时工作 我有#/usr/bin/python作为第一行,可以使用/home/pi/ipsender.py和python/home/pi/ipsender.py运行它 我的crontab是*/1****/home/pi/ipsender.py,但我也尝试过*/1****python/home/pi/ipsender.py和*/1****/usr/bin/python/home/pi/i

我读过一些关于这方面的帖子,但我找不到帮助

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

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

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

执行
我得到的
/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
[编辑二] 使用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
启动
回溯(最近一次呼叫最后一次):
文件“/home/pi/ipsender.py”,第7行,在
ifconfig\u output=sp.check\u输出([“ifconfig”,“wwan0”])
文件“/usr/lib/python2.7/subprocess.py”,第537行,在check_输出中
进程=Popen(stdout=PIPE,*popenargs,**kwargs)
文件“/usr/lib/python2.7/subprocess.py”,第679行,在__
错误读取,错误写入)
文件“/usr/lib/python2.7/subprocess.py”,第1249行,在执行子进程中
引发子对象异常
OSError:[Errno 2]没有这样的文件或目录

向我暗示这条路有问题。虽然在
/etc/crontab
中,我有
路径=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
ifconfig
给出的
/sbin/ifconfig
。所以这不应该是个问题,对吧?

有很多关于cron的问题。。。如果没有MTA,请以更简单的方式查看输出-尝试将其管道化到文件:

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

使用
打印'starting'
启动python文件,查看python文件是否开始正常执行。

尝试保存脚本的STDOUT和STDERR:

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

该文件的权限是什么?-rwxr-xr-x 1 pi 551 11月27日22:37 ipsender.py如果您尝试“sudo su”,然后手动运行脚本,它是否有效?您是否在crontab中运行的用户与在shell中尝试的用户相同?确保两种情况下的权限和环境相同。我可以看到脚本失败[Edit2],但我不知道原因。您的脚本是从
pi
用户的crontab运行的,该crontab运行在与
/etc/crontab
不同的shell中。我认为如果将
PATH=
行与脚本放在同一个crontab中,它可能会工作。或者,尝试在脚本中指定
ifconfig
的绝对路径。