您的位置:首页 > 理论基础 > 计算机网络

shell查看并修复网络连接

2016-11-14 11:40 232 查看
1. shell监控网卡状态,故障时自动重启网卡 http://blog.slogra.com/post-425.html
cat fix_eth0.sh

#!/bin/bash

check_and_fix_eth0_link()
{
date="`date '+%Y-%m-%d %H:%M:%S'`"

# step3 : if have ip, ping $dns
lost_rate=`ping -c 8 -w 8 $dns -I $eth0 | grep 'packet loss' \
| awk -F'packet loss' '{ print $1 }' \
| awk '{ print $NF }' | sed 's/%//g'`

# step4: if ping dns failed, fix the link of $eth0
if [ $lost_rate -eq 0 ]
then
echo "network_ok $date $dns $dev" >>/root/network_ok.log
elif [ $lost_rate -le 100 ]
then
echo "network_error $date $dns $dev" >>/root/network_error.log
ifconfig $usb0 down
sleep 1
ifconfig $usb0 up
fi
}

eth0="eth0"
usb0="usb0"
dns="61.139.2.69"

touch /root/network_ok.log
touch /root/network_error.log

while [ 1 ]
do
# step 1 : test if $eth0 have ip
ipaddr=` /sbin/ifconfig $eth0 | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}' `
if [ ! -n "$ipaddr" ]
then
# step2 : if have no ip, reset the $eth0, maybe the "udhcpc -i $eth0 ?"
echo "    $0: NO IP Addr"
/etc/init.d/networking restart
else
check_and_fix_eth0_link;
fi
sleep 10
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: