【发布时间】:2023-04-07 06:12:01
【问题描述】:
我已经阅读了一些关于此的帖子,但我无法在其中找到帮助。
我有一个使用 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
并从命令行运行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)
我猜 No MTA... 只是关于 Cron 不发送关于它正在做什么的电子邮件,或者不是吗?
如何运行此脚本。
[编辑]
脚本的权限是
-rwxr-xr-x 1 pi pi 551 Nov 27 22:37 ipsender.py
[编辑2]
使用 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/crontab
我有PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
和which ifconfig
给/sbin/ifconfig
。所以这应该不是问题吧?
【问题讨论】:
-
文件的权限是什么?
-
-rwxr-xr-x 1 pi pi 551 Nov 27 22:37 ipsender.py
-
如果你尝试“sudo su”,然后手动运行脚本,是否有效?
-
您在 crontab 中运行的用户是否与您在 shell 中尝试过的用户相同?确保两种情况下的权限和环境相同。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Cron python脚本未执行[重复] - Python技术站