探测机器网络连接shell脚本

来源:互联网 发布:mac充电器坏了怎么办 编辑:程序博客网 时间:2024/05/23 01:16
#! /bin/sh#b=`awk -F = '/\[inteval\]/$1/int/{temp=1}temp==1&&$2~/[0-9]/{print $1}' ipofmachines.ini`b=`awk '/\[inteval\]/$1~/int/{split ($1,intarr,"=");print intarr[2]}' ipofmachines.ini`#e=`awk '/\[inteval\]/$1~/int/{split ($1,intarr,"=");split (intarr[2],intarr2," ");print intarr2[1]}' ipofmachines.ini`#echo "b="$b#ping 10.8.8.120 -c 2 -i $bfunction doping2(){ _msg=$1 # _msg2=$2 # echo "msg="$_msg; # echo "msg2="$_msg2;  ping $1 -c 2 -i $2 | grep -q "Unreachable";  if [ $? -eq 0 ];  then {echo $_msg" is unreachable"   echo &date "+%G-%m-%d %H:%M:%S" >> pingallmachines.log;    echo "$_msg:is unreachable" >> pingallmachines.log; }  fi;  }#b=`awk '/\[inteval\]/$1~/int/{split ( $1,intarr,"=");print intarr[2]}' ipofmachines.ini`export -f doping2export myint=$bawk -F '=' '#int={print "\$b"}/ips/{temp2=1}temp2==1&&$2~/[0-9]/{len=split ( $2,iparray,"," );#print "len="len;#myint=5;#print "myint="#print "$myint"while( 1 ) { for(k=1;k<len;k++) {temp3=iparray[k];system("doping2 " temp3 "$myint")} }}' ipofmachines.ini

使用说明:
1、建立一个文件夹,文件夹名称比如为cls
2、把clsping3、ipofmachines.ini放在文件夹cls里面
3、终端登陆linux,进入/cls目录,输入./clsping3,这个脚本就运行了
4、脚本运行后将在/cls目录下自动生成pingallmachines.log文件,其中记录了网络连接不通的ip地址还有连接不通的时间。
5、配置文件ipofmachines.ini含时间间隔配置和ip地址配置:
1) 时间间隔配置即文件中的int=10,表示每10秒检测一次网络,可更改,如改为int=20则表示每20秒检测一次网络.
2) ip地址配置即文件中的ips=10.8.8.119,10.8.8.120,10.8.8.121,10.8.8.122,表示将检测这四个ip地址的网络,你需要将这一项更改为你实际的ip地址,
每一个ip地址以半角的逗号(即英文输入时)隔开。

ipofmachines.ini文件内容举例:
[inteval]
int=10
[iplist]
ips=10.8.8.119,10.8.8.120,10.8.8.121,10.8.8.122,

0 0
原创粉丝点击