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