shell脚本批量ping IP
1、系统环境
系统:centos7
2、shell脚本
#!/bin/bash #开启所有网口并配置IP地址 ifconfig eth0 192.168.2.10 up sleep 0.001 ifconfig eth1 192.168.3.10 up sleep 0.001 ifconfig eth4 192.168.5.10 up sleep 2 #循环执行命令 while true do #查看预先加入的IP地址池,并逐个读取 ipAll=$(cat /root/ip_record.text) for ip in $ipAll do echo $ip #逐个ping读取的IP地址并输出time值 num=$(ping -c 2 $ip |grep packets |awk '{print $7}' |awk -F . '{print $1}') time=$(ping -c 2 $ip |grep time |awk '{print $7}') echo $time #输出ping包时间 echo "DATE:" $(date +"%Y-%m-%d %H:%M:%S") 判断ping包是否连通,如果没有ping通则输出错误的IP地址和时间到日志文件,ping通则输出time值和OK字样 if [ $num == "errors," ];then #echo $num fail echo "error date:" $(date +"%Y-%m-%d %H:%M:%S") echo " Femrice " >> Network$LogNameDATE.log echo "-----------------" >> Network$LogNameDATE.log echo "DATE:" $(date +"%Y-%m-%d %H:%M:%S") >> Network$LogNameDATE.log echo $ip >> Network$LogNameDATE.log else echo $num ok fi done
3、输出结果
root@localhost:~# ./ip.sh 192.168.2.11 time=0.266 time=0.269 packet DATE: 2021-11-26 15:42:03 packet ok 192.168.3.11 time=0.267 time=0.261 packet DATE: 2021-11-26 15:42:05 packet ok 192.168.5.11 time=0.274 time=0.269 packet DATE: 2021-11-26 15:42:07 packet ok