shell脚本ping 判断IP(192.168.$1.$2)通断

ping 判断IP通断


#!/bin/bash
start_time=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
m_ping() {
ip=192.168.$1.$2
ping -c2 -i0.1 -W1 $ip  &>/dev/null
if [ $? -eq 0 ];then
    # echo "$ip is up "
     echo "$ip is up"  >> temfileup.txt
     echo "---$ip up---" | tr -d '\n'
else
#     echo "$ip is down"
     echo "$ip is down"  >> temfiledown.txt

fi
}
num=100
#创建命令管道文件,并绑定文件描述符,创建其文件描述,通过重>定向将数据导入管道文件
pipefile="/tmp/multiping_$$.tmp"
mkfifo $pipefile
exec 12<>$pipefile
for i in `seq $num`
  do
 echo "" >&12 &
  done

for n4 in {1..25}
   do
for n3 in {1..254}
do
read -u12
  {
  m_ping $n3 $n4
  echo "" >&12
  } &
   done
   done
wait
num_up=`sed -n '$=' temfileup.txt`
num_down=`sed -n '$=' temfiledown.txt`
echo "/n"
echo "ping_up数:$num_up"
echo "ping_down数:$num_down"
rm -rf $pipefile
rm -rf temfileup.txt
rm -rf temfiledown.txt
finish_time=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`

run_time=$(($(($(date +%s -d "$finish_time")-$(date +%s -d "$start_time")))))

echo "脚本运行时间: $run_time"

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值