搜索

求linux脚本,就是服务器自动检测网络,每个一段时间自动检测,丢包严重或断网,就自动重启服务器,求高手

最佳答案
本回答由提问者推荐

头像
匿名用户 1级
2011-10-26 回答
因为服务器自身网络丢包和断网
1.数据交互过大
2.一段时间网口down掉

其实只要
/etc/init.d/network restart
并不需要重启。

在/etc/rc.d/rc.local最下面加一句话
network.sh &
把下面脚本放到/usr/bin/目录
并且给她加权限
chmod +x /usr/bin/network.sh

network.sh脚本:
#!/bin/sh
#echo "请输入你的网关地址"
#read sgateway

sgateway="192.168.3.187"
echo "连接的的网关是$sgateway"
delay=5000
echo "设置最大延迟不超过$delay毫秒"
nexttime=18
echo "每隔$nexttime秒进行一次检查"
echo "########################################"
while :
do
network=`ping -c 1 $sgateway  |  awk 'NR==2 {print $7}' | sed "s/=/ /g"  | awk '{print $2}'`

expr ${network} + 0 1>/dev/null 2>&1
if [ $? -eq 0 ]; then
        /etc/init.d/network restart
else
        value_n=`echo $network | sed "s/\.//g"`
        if [ "$value_n" -lt "$delay" ];
        then
                echo "检查结果为"
                echo "网络通畅"
                echo "网络延迟为$network秒"
                echo "########################"
        else
                /etc/init.d/network restart
        fi
fi

sleep $nexttime
done 

不给分不给力啊

最新回答 (2条回答)

头像
匿名用户 1级
2011-10-26 回答
丢包和断网一般不会是服务器自身造成的,重启也不一定解决问题啊。
检测网络的状态可以使用
ping
netstat -in
通过脚本判断返回数据的情况来说明网络的好坏。
追问:
关键是我的服务器是重启完就一切正常的
2011-10-26 回答
惜泡尽秃恭求linux脚本,就是服务器自动检测网络,每个一段时间自动检测,丢包严重或断网,就自动重启服务
kbenkec趁后倚榆楼车克录期叉广越地企做势
置顶