利用shell脚本收集集群服务所有网卡的ip信息_20210224

脚本功能:

编写一根脚本实现执行脚本自动获取网卡的网络配置信息,直观显示查看,当我们有大批量的服务器需要维护时候可以通过此脚本收集多数服务器的IP地址信息

执行结果:

root@cyt:~# bash ip_list.sh 
enp0s25:
ipaddress=
broadcast=
netmask=
========================================================
virbr0:
ipaddress=192.168.122.1
broadcast=192.168.122.255
netmask=255.255.255.0
========================================================
virbr1:
ipaddress=192.168.100.1
broadcast=192.168.100.255
netmask=255.255.255.0
========================================================
vnet0:
ipaddress=
broadcast=
netmask=
========================================================
vnet1:
ipaddress=
broadcast=
netmask=
========================================================
vnet2:
ipaddress=
broadcast=
netmask=
========================================================
wlp3s0:
ipaddress=192.168.0.110
broadcast=192.168.0.255
netmask=255.255.255.0
========================================================

代码展示:

#!/bin/bash
#
# 收集系统内部所有网卡的ip信息 
# v1.0 by ytchen5 2021年2月24日

device=(`ifconfig | grep -v "^$"| grep -v ^[[:space:]] | grep -v lo | awk -F: '{print $1}'`)
count=$((${#device[*]}-1))
for a in `seq 0 $count`
do
	echo "${device[$a]}:"
	ip_data=(`ifconfig ${device[$a]} | grep -E -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"`)
	for i in `seq 0 ${#ip_data[*]}`
	do
		if [[ ! "${ip_data[$i]}" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.255  ]];then
		continue
		else
			broadcast=${ip_data[$i]}
		fi
	done
	for j in `seq 0 ${#ip_data[*]}`
	do
		if [[ ! "${ip_data[$j]}" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.0 ]];then
			continue
		else
			netmask=${ip_data[$j]}
		fi
	done



	for x in `seq 0 ${#ip_data[*]}`
	do
		if [[ ! "${ip_data[$x]}" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.255 ]] && [[ ! "${ip_data[$x]}" =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.0 ]];then
	
			ipaddress=${ip_data[$x]}
			break		
		else
			continue
		fi
	done
	echo "ipaddress=$ipaddress"
	echo "broadcast=$broadcast"
	echo "netmask=$netmask"
	unset ipaddress
	unset broadcast
	unset netmask
	echo "========================================================"
done

验证获取内容是否正确

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值