博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并发检测主机ip存活脚本
阅读量:6457 次
发布时间:2019-06-23

本文共 1639 字,大约阅读时间需要 5 分钟。

#!/bin/bash#################### Check Active Host##########################function CheckInput(){if [ $# -ne 1 ] ; then  return 1else  return 0fi}function CheckIp(){/bin/ipcalc -s -c $1 &>/dev/nullreturn $?}function PingIp(){ping -c 2 -W 2 $1 &>/dev/nullif [ $? -eq 0 ] ; then  echo $1 >> $TMP_ACTIVEelse  echo $1 >> $TMP_DOWNfi}function PingAll(){PrefixIP=$(echo $1|awk -F '.' '{print $1"."$2"."$3"."}')for ip in {
1..254}do IP="${PrefixIP}${ip}" PingIp $IP &done}function SelectPing(){ENDIP=$(echo $1|awk -F '.' '{print $NF}')if [ $ENDIP -eq 0 -o $ENDIP -eq 255 ] ; then PingAll $*else PingIp $*fi}function SortIp(){while :doPING_NUM=$(ps -ef|grep ping|grep -v 'grep'|wc -l)if [ $PING_NUM -eq 0 ] ; then`cat $TMP_ACTIVE|sort -t '.' -k 4 -n > /tmp/active.host``cat $TMP_DOWN|sort -t '.' -k 4 -n > /tmp/down.host`rm -f $TMP_ACTIVErm -f $TMP_DOWNbreakfidone}function Show(){ACTIVEIP=$(cat /tmp/active.host)DOWNIP=$(cat /tmp/down.host)if [ -s "/tmp/active.host" ] ; then echo "Active Host:" echo $ACTIVEIP|tr " " "\n"else echo "Down Host:" echo $DOWNIP|tr " " "\n"fi}function main(){CheckInput $*if [ $? -ne 0 ] ; then echo -e $"USAGE: $0 {ipaddress}\nExample:\n$0 192.168.1.10 will check 192.168.1.10 only\n$0 192.168.1.0 will check 192.168.1.1 - 192.168.1.254 "else CheckIp $* if [ $? -ne 0 ] ; then echo "Please input correct ip address . such as 192.168.1.10 or 192.168.1.0" else TMP_ACTIVE=$(mktemp) TMP_DOWN=$(mktemp) >/tmp/active.host >/tmp/down.host SelectPing $* SortIp Show rm -f /tmp/active.host rm -f /tmp/down.host fifi}main $*

 

转载于:https://www.cnblogs.com/yangliheng/p/6379466.html

你可能感兴趣的文章
分页查询
查看>>
mysql 原理 ~ change buffer
查看>>
mongodb 案例 ~ 经典故障案例
查看>>
阅读博客——我们应当怎样做需求分析?
查看>>
jquery对表单操作_表单验证
查看>>
思维导图
查看>>
Android数据存储(2):Internal Storage
查看>>
Nginx反向代理以及负载均衡配置
查看>>
spring 注解模式 详解
查看>>
Ubuntu上安装Oracle JDK
查看>>
Win7无法保存共享帐户密码
查看>>
集群相关、用keepalived配置高可用集群
查看>>
C#字典类型转byte数组
查看>>
CodeTimerPerformance EasyPerformanceCountersHelper .NET v3.5
查看>>
hpu 1267 Cafeteria (01背包)
查看>>
1-VScode格式化ESlint-方法(最全最好用方法!)
查看>>
ogg-./ggsci ./ggsci: error while loading shared libraries: libnnz11.so:
查看>>
开启 Hyper-v 后如何使用 Android Emulator?
查看>>
python闭包的使用
查看>>
JS----获取选中文本
查看>>