eva*_*ing 4 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/ipsender.py.
这样做which python,我得到/usr/bin/pyhton和命令行我可以导入和使用的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)
Run Code Online (Sandbox Code Playgroud)
我猜测没有MTA ......只是关于Cron没有发送关于它正在做什么的电子邮件,或者不是吗?
我该如何运行这个脚本.
[编辑]
脚本的权限是
-rwxr-xr-x 1 pi pi 551 Nov 27 22:37 ipsender.py
Run Code Online (Sandbox Code Playgroud)
[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
Run Code Online (Sandbox Code Playgroud)
建议我有路径的东西.虽然在/etc/crontab我有PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin和which ifconfig给/sbin/ifconfig.那应该不是问题吧?
有许多带有crons的问题......如果没有MTA,请查看输出更简单的方法 - 尝试将其连接到文件:
*/1 * * * * /home/pi/ipsender.py > /home/pi/ipsender.log 2>&1
Run Code Online (Sandbox Code Playgroud)
用a启动你的python文件print 'starting',看看python文件是否开始执行ok.