shell-检查网络是否连通

shell脚本——检查网络是否连通

背景

opennebula 5.8有一个bug,在虚拟化node删除最后一个虚拟机后,这个node就不可用了,定位后发现网桥没有了,重启网络之后可恢复,
为了处理这个问题,需要一个脚本:检测网络,若网络不能连通,就重启网卡

代码如下

#!/bin/bash
source /etc/profile
CURRENT_DIR=$(cd $(dirname $0); pwd)
#echo ${CURRENT_DIR}
TODAY=`date +"%Y-%m-%d"`
NETDEV=$1
GATEWAY=`cat /etc/sysconfig/network-scripts/ifcfg-${NETDEV} | grep 'GATEWAY=' | sed 's/^.*GATEWAY=//g'`
echo ${GATEWAY}
TIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "$(date "+%Y-%m-%d %H:%M:%S") begin check network" >> ${CURRENT_DIR}/netlog-${TODAY}.log
ping -c 5 $GATEWAY
if [ "$?" != "0" ]; then
   echo "$(date "+%Y-%m-%d %H:%M:%S") the gateway is unreachable" >> ${CURRENT_DIR}/netlog-${TODAY}.log
   service network restart
   echo "$(date "+%Y-%m-%d %H:%M:%S") restart network" >> ${CURRENT_DIR}/netlog-${TODAY}.log
fi
exit 0
posted @ 2020-06-03 13:58  iblk  阅读(1208)  评论(0编辑  收藏  举报