IP更改脚本无法从cron工作?蟒蛇

时间:2013-10-17 10:39:03

标签: python cron subprocess crontab

我已经让这个脚本改变了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

1 个答案:

答案 0 :(得分:0)

对我来说似乎是一个“绝对路径”问题。 请使用File和Python Compiler的绝对路径

06 12 * * * /usr/bin/python /root/system/ip.py