var=$(cat/sys/class/net/eth0/carrier)
var1="0"
SLEEPTIME=1
while :;do
var=$(cat/sys/class/net/eth0/carrier)
if [ "$var" == "1"];then
if [ "$var" != "$var1"];then
touch/tmp/netok
echo "networkchangeok "
busybox udhcpc -s/etc/init.d/udhcpc.script &
fi
var1=$var
elif [ "$var" == "0"];then
var=$(cat/sys/class/net/wlan0/carrier)
if [ "$var" == "1"];then
if [ "$var" != "$var1"];then
echo "wifi change ok"
touch/tmp/netok
busybox udhcpc -s/etc/init.d/udhcpc.script &
fi
elif [ "$var" == "0"];then
if [-f"/tmp/netok" ]; then
echo "eth andwifi all NG "
rm -rf/tmp/netok
fi
fi
var1=$var
fi
#echo "At `date +'%F %T'`"
sleep $SLEEPTIME
done
var=$(cat/sys/class/net/eth0/carrier)
var1="0"
SLEEPTIME=1
while:;do
var=$(cat/sys/class/net/eth0/carrier)
if["$var"=="1"];then
if["$var"!="$var1"];then
touch/tmp/netok
echo"networkchangeok"
busyboxudhcpc-s/etc/init.d/udhcpc.script&
fi
var1=$var
elif["$var"=="0"];then
var=$(cat/sys/class/net/wlan0/carrier)
if["$var"=="1"];then
if["$var"!="$var1"];then
echo"wifichangeok"
touch/tmp/netok
busyboxudhcpc-s/etc/init.d/udhcpc.script&
fi
elif["$var"=="0"];then
if [ -f "/tmp/netok" ]; then
echo "eth and wifi all NG "
rm -rf /tmp/netok
fi
fi
var1=$var
fi
#echo "At `date +'%F %T'` "
sleep $SLEEPTIME
done
这段脚本用于实时监测以太网eth0和无线网wlan0的连接状态。当网络状态变化时,它会创建或删除/tmp/netok文件,并触发busybox udhcpc服务重新获取IP地址。如果两者都断开连接,则会提示'ethandwifiallNG'。

550

被折叠的 条评论
为什么被折叠?



