我已经让这个脚本改变了eth0接口的ip。它从控制台工作正常,但没有在cron上工作。即使cron上没有错误的脚本。请指导我完成这个< / strong>
#!/usr/bin/python
import subprocess
import os
ip=['192.168.X.X','192.168.X.X','192.168.X.X']
gateway='192.168.X.1'
netmask='225.225.225.0'
currentip=os.popen("ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{ print $1}'").read()
currentip=currentip.strip()
print currentip
lip=len(ip)
for item in ip:
index=ip.index(item)
if item==currentip:
if index==lip-1:
index=0
newip=ip[index]
subprocess.call(['ifconfig','eth0',newip,'netmask',netmask,'up'])
subprocess.call(['route','add','default','gw',gateway])
else:
index=index+1
newip=ip[index]
print newip
subprocess.call(['ifconfig','eth0',newip,'netmask',netmask,'up'])
subprocess.call(['route','add','default','gw',gateway])
Cron代码是
06 12 * * * cd /root/system/; python ip.py
答案 0 :(得分:0)
对我来说似乎是一个“绝对路径”问题。 请使用File和Python Compiler的绝对路径
06 12 * * * /usr/bin/python /root/system/ip.py