当我运行这段代码时,控制台可以正常工作。它不会产生错误。在
import sh
import uuid
import urllib
print 'Ip ....'
# Print only IP address from specific interface
LineaX = sh.grep(sh.ifconfig('eth0'), '-oP', '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
# Asignar Variables
IpX = LineaX.splitlines()[0]
PuertaX= LineaX.splitlines()[1]
MascaraX = LineaX.splitlines()[2]
MacX = ':'.join(['{:02x}'.format((uuid.getnode() >> i) & 0xff) for i in range(0,8*6,8)][::-1])
DataX = open('/etc/resolv.conf').read().split()
for item in DataX:
if len( item.split(".") ) == 4:
Dns1X = item
Dns2X = '000.000.000.000'
# Actualizar informacion
urllib.urlopen('http://www.miurl.com/file.php?mac='+ MacX + '&ip=' + IpX + '&mascara='+ MascaraX + '&puerta='+ PuertaX + '&dns1='+ Dns1X + '&dns2='+ Dns2X )
print 'Ip ... OK'
在cronjob中生成以下错误:
^{pr2}$我有什么错?在
使用
sh
您需要导入所需的命令,例如:这就是你看到错误的原因:
^{pr2}$如果它在shell上工作正常,但在cron中没有问题,那么问题是您需要指定二进制文件的绝对路径,因为cron没有
path
。在我在阅读时也解决了同样的问题上海py直接!在
因为}位置,所以抛出NONE错误。在
crontab
有自己的shell或脚本运行路径,sh.py
执行306 fpath, fname = os.path.split(program)
,它返回空,这意味着在路径中找不到{所以您需要添加命令(例如您的
^{pr2}$ifconfig
路径操作系统环境 我把它加到我的脚本.py对于crontab宾果!一切都好!在
相关问题 更多 >
编程相关推荐