查看linux硬件信息脚本
#!/bin/bash
#This script is used to check the server
#system
info
system_info() {
echo
"**********************************************"
echo "system
info:"
echo
echo " System-release : `cat
/etc/redhat-release`"
echo " Kernel-release : `uname -a|awk '{print
$1,$3}'`"
echo " Server-Model : `dmidecode | grep "Product Name:"|sed -n
'1p'|awk -F': ' '{print $2}'`"
echo
}
#CPU info
cpu_info() {
echo "**********************************************"
echo "CPU
info:"
echo
echo " Frequency : `cat /proc/cpuinfo | grep "model
name" | uniq |awk -F': ' '{print $2}'`"
echo " CPU cores: `cat
/proc/cpuinfo | grep "cpu cores" | uniq |awk -F': ' '{print $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}'`"
echo
}
#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}'
echo
}
#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}:"
echo
}
#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= '{print $2}'`
IP_eth1=`cat
/etc/sysconfig/network-scripts/ifcfg-eth1|grep IPADDR|awk -F= '{print $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}"
echo
}
#software package
software_info() {
echo "**********************************************"
echo "SELinux is
`cat /etc/selinux/config |grep SELINUX=disabled|awk -F= '{print $2}'||echo
"enabled"`"
echo "`service iptables status|sed
's/Firewall/Iptables/g'`"
echo
echo
"**********************************************"
sed -n
'/%packages/,/%post/p;' /root/anaconda-ks.cfg|sed '/%post/d;/^$/d'
echo
"**********************************************"
}
#del mac-addr
#sed -i '/HWADDR/d'
/etc/sysconfig/network-scripts/ifcfg-eth0
#sed -i '/HWADDR/d'
/etc/sysconfig/network-scripts/ifcfg-eth1
system_info
cpu_info
mem_info
partition_info
adapter_info
software_info