linux 主机硬件检测shell
2013-04-07 09:58
162 查看
#!/bin/bash
#This script is used to check the server
#system info
system_info() {
echo "**********************************************"
echo "system info:"
echo
echo " System-release : `cat /etc/issue|sed -n '1p'`"
echo " Kernel-release : `uname -a|awk '{print $1,$3}'`"
echo " Server-Model : `dmidecode | grep "Product Name:"|sed -n '1p'|awk -F': ' '{print $2}'`"
}
#CPU info
cpu_info() {
echo "**********************************************"
echo "CPU info:"
echo
echo " CPU name : `cat /proc/cpuinfo | grep "model name" | uniq |awk -F': ' '{p rint $2}'`"
echo " CPU cores: `cat /proc/cpuinfo | grep "cpu cores" | uniq |awk -F': ' '{p rint $2}'`"
echo " Logic Count : `cat /proc/cpuinfo | grep "processor" | sort -u| wc -l `"
echo " Physical Count : `cat /proc/cpuinfo | grep "physical" | sort -u| wc -l`"
echo " Cache size : `cat /proc/cpuinfo| grep "cache size"|uniq|awk '{print $4,$ 5}'`"
}
#memory info
mem_info() {
memory=`dmidecode |grep "Range Size"|head -1|awk '{print $3$4}'`
mem_size=`echo "This server has ${memory} memory."`
echo "**********************************************"
echo "Memory info:"
echo
echo " Total : ${mem_size}"
echo " Count : `dmidecode |grep -A16 "Memory Device$"|grep Size|awk '{if($2!~/No /) print $0}'|wc -l`"
dmidecode |grep -A20 "Memory Device$"|grep Size|sed '{s/^ */ /g};{/No/d }'
}
#disk and partitions
swap_pos=`cat /proc/swaps|sed -n '2p'|awk '{print $1}'`
partition_info() {
echo "**********************************************"
echo "Hard disk info:"
echo
echo "`fdisk -l|grep Disk|awk -F, '{print $1}'`"
echo "**********************************************"
echo "Partition info:"
echo
df -h | grep -v Filesystem | sed "s:none:${swap_pos}:"
}
#network adapter info
adapter_info() {
duplex_eth0=`ethtool eth0 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if( $2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`
duplex_eth1=`ethtool eth1 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if( $2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`
Negotiation_eth0=`ethtool eth0 | grep "Advertised auto-negotiation"|awk -F': ' ' {if($2~/No/) print "Non-negotiation."};{if($2~/Yes/) print "Negotiation"}'`
Negotiation_eth1=`ethtool eth1 | grep "Advertised auto-negotiation"|awk -F': ' ' {if($2~/No/) print "Non-negotiation"};{if($2~/Yes/) print "Negotiation"}'`
IP_eth0=`cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep IPADDR|awk -F= '{pri nt $2}'`
IP_eth1=`cat /etc/sysconfig/network-scripts/ifcfg-eth1|grep IPADDR|awk -F= '{pri nt $2}'`
speed_eth0=`ethtool eth0|grep Speed|awk '{print $2}'`
speed_eth1=`ethtool eth1|grep Speed|awk '{print $2}'`
echo "**********************************************"
echo "Network adapter info:"
echo
echo " IP_eth0 : ${IP_eth0} IP_eth0 : ${IP_eth1}"
echo " Speed_eth0 : ${speed_eth0} Speed_eth1 : ${speed_eth1}"
echo " Duplex_eth0 : ${duplex_eth0} Duplex_eth1 : ${duplex_eth1}"
echo " Negotiation_eth0 : ${Negotiation_eth0} Negotiation_eth1 : ${Negotiation _eth1}"
}
#software package
software_info() {
echo "**********************************************"
echo "Firewall info:"
echo
echo " SELinux is `cat /etc/selinux/config |grep SELINUX=disabled|awk -F= '{pri nt $2}'||echo "enabled"`"
echo " `service iptables status|sed 's/Firewall/Iptables/g'|sed -n 's/\./ /p'`"
echo "**********************************************"
echo "Packages info:"
echo
sed -n '/%packages/,/%post/p;' /root/anaconda-ks.cfg|sed '/%post/d;/^$/d;/%packa ges/d'
echo "**********************************************"
}
#mac_addr_info
mac_addr_info() {
echo "Mac adddress info:"
echo
ifconfig | grep eth | awk '{print $1"\t"$5}'
echo "**********************************************"
}
system_info
cpu_info
mem_info
partition_info
adapter_info
software_info
mac_addr_info
#This script is used to check the server
#system info
system_info() {
echo "**********************************************"
echo "system info:"
echo
echo " System-release : `cat /etc/issue|sed -n '1p'`"
echo " Kernel-release : `uname -a|awk '{print $1,$3}'`"
echo " Server-Model : `dmidecode | grep "Product Name:"|sed -n '1p'|awk -F': ' '{print $2}'`"
}
#CPU info
cpu_info() {
echo "**********************************************"
echo "CPU info:"
echo
echo " CPU name : `cat /proc/cpuinfo | grep "model name" | uniq |awk -F': ' '{p rint $2}'`"
echo " CPU cores: `cat /proc/cpuinfo | grep "cpu cores" | uniq |awk -F': ' '{p rint $2}'`"
echo " Logic Count : `cat /proc/cpuinfo | grep "processor" | sort -u| wc -l `"
echo " Physical Count : `cat /proc/cpuinfo | grep "physical" | sort -u| wc -l`"
echo " Cache size : `cat /proc/cpuinfo| grep "cache size"|uniq|awk '{print $4,$ 5}'`"
}
#memory info
mem_info() {
memory=`dmidecode |grep "Range Size"|head -1|awk '{print $3$4}'`
mem_size=`echo "This server has ${memory} memory."`
echo "**********************************************"
echo "Memory info:"
echo
echo " Total : ${mem_size}"
echo " Count : `dmidecode |grep -A16 "Memory Device$"|grep Size|awk '{if($2!~/No /) print $0}'|wc -l`"
dmidecode |grep -A20 "Memory Device$"|grep Size|sed '{s/^ */ /g};{/No/d }'
}
#disk and partitions
swap_pos=`cat /proc/swaps|sed -n '2p'|awk '{print $1}'`
partition_info() {
echo "**********************************************"
echo "Hard disk info:"
echo
echo "`fdisk -l|grep Disk|awk -F, '{print $1}'`"
echo "**********************************************"
echo "Partition info:"
echo
df -h | grep -v Filesystem | sed "s:none:${swap_pos}:"
}
#network adapter info
adapter_info() {
duplex_eth0=`ethtool eth0 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if( $2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`
duplex_eth1=`ethtool eth1 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if( $2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`
Negotiation_eth0=`ethtool eth0 | grep "Advertised auto-negotiation"|awk -F': ' ' {if($2~/No/) print "Non-negotiation."};{if($2~/Yes/) print "Negotiation"}'`
Negotiation_eth1=`ethtool eth1 | grep "Advertised auto-negotiation"|awk -F': ' ' {if($2~/No/) print "Non-negotiation"};{if($2~/Yes/) print "Negotiation"}'`
IP_eth0=`cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep IPADDR|awk -F= '{pri nt $2}'`
IP_eth1=`cat /etc/sysconfig/network-scripts/ifcfg-eth1|grep IPADDR|awk -F= '{pri nt $2}'`
speed_eth0=`ethtool eth0|grep Speed|awk '{print $2}'`
speed_eth1=`ethtool eth1|grep Speed|awk '{print $2}'`
echo "**********************************************"
echo "Network adapter info:"
echo
echo " IP_eth0 : ${IP_eth0} IP_eth0 : ${IP_eth1}"
echo " Speed_eth0 : ${speed_eth0} Speed_eth1 : ${speed_eth1}"
echo " Duplex_eth0 : ${duplex_eth0} Duplex_eth1 : ${duplex_eth1}"
echo " Negotiation_eth0 : ${Negotiation_eth0} Negotiation_eth1 : ${Negotiation _eth1}"
}
#software package
software_info() {
echo "**********************************************"
echo "Firewall info:"
echo
echo " SELinux is `cat /etc/selinux/config |grep SELINUX=disabled|awk -F= '{pri nt $2}'||echo "enabled"`"
echo " `service iptables status|sed 's/Firewall/Iptables/g'|sed -n 's/\./ /p'`"
echo "**********************************************"
echo "Packages info:"
echo
sed -n '/%packages/,/%post/p;' /root/anaconda-ks.cfg|sed '/%post/d;/^$/d;/%packa ges/d'
echo "**********************************************"
}
#mac_addr_info
mac_addr_info() {
echo "Mac adddress info:"
echo
ifconfig | grep eth | awk '{print $1"\t"$5}'
echo "**********************************************"
}
system_info
cpu_info
mem_info
partition_info
adapter_info
software_info
mac_addr_info
相关文章推荐
- shell写的检测linux系统硬件信息的脚本
- shell脚本实现linux系统文件完整性检测
- 用shell脚本挂载linux主机拷贝相应文件copy.sh
- 查看Linux硬件的信息shell脚本
- shell 检测网段在线主机
- 【shell脚本】检测局域网内存活主机
- linux shell ssh实现自动登录,并且执行一些操作并返回到当前主机
- clockdiff命令_Linux clockdiff 命令用法详解:检测两台linux主机的时间差
- Linux下安装Oracle 11G 软、硬件环境检测和修改
- arch命令_Linux arch 命令用法详解:显示当前主机的硬件架构类型
- 浅析linux下sdio接口对sd卡硬件检测流程
- shell脚本检测主机是否存活
- 如何在LINUX下实现硬件的自动检测(上)
- Linux下安装Oracle 11G 软、硬件环境检测和修改
- Linux下使用shell+expect远程登录主机
- shell——主机存活检测
- Linux的shell脚本的语句,函数,检测服务,启动脚本的练习
- Java服务部署上linux主机及shell脚本启停
- C语言+shell 实现linux网卡状态检测
- 在Linux上分析硬件检测日志