求linux脚本,就是服务器自动检测网络,每个一段时间自动检测,丢包严重或断网,就自动重启服务器,求高手
3个回答
展开全部
因为服务器自身网络丢包和断网
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
不给分不给力啊
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
不给分不给力啊
展开全部
丢包和断网一般不会是服务器自身造成的,重启也不一定解决问题啊。
检测网络的状态可以使用
ping
netstat -in
通过脚本判断返回数据的情况来说明网络的好坏。
检测网络的状态可以使用
ping
netstat -in
通过脚本判断返回数据的情况来说明网络的好坏。
追问
关键是我的服务器是重启完就一切正常的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单啊,去电脑官网,问专业人员,呵呵,采纳我,合作一下,谢谢,求你了好吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |