您的位置:首页 > 运维架构 > Shell

查看Linux硬件的信息shell脚本

2013-07-10 16:09 387 查看
#!/bin/bash
#
# SystemInfo manager
#
#

###Sytem time
timedate(){
echo "**********************************************"
echo "Sytem datetime info:"
echo
echo " System nowtime:"` date +"%F %H:%M:%S"`
echo " System uptimes:"` cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf ("%d day %d hour %d Min %d Sec",run_days,run_hour,run_minute,run_second)}'`
echo
}

###System ip addr
ipaddr(){
echo "**********************************************"
echo "Network adapter info:"
echo
for nets in `ip addr | grep "inet "|grep global|awk '{print $7}'|sort|uniq -u`;
do
echo " IP_$nets : "
for ipaddr in `ip addr | grep "inet "|grep global|grep $nets|awk '{print $2}'`;
do
echo " $ipaddr"
done
duplex_nets=`ethtool $nets | grep Duplex | awk '{if($2~/Full/) print "Full"};{if($2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`
Negotiation_nets=`ethtool $nets | grep "Advertised auto-negotiation"|awk -F': ' '{if($2~/No/) print "Non-negotiation."};{if($2~/Yes/) print "Negotiation"}'`
speed_nets=`ethtool $nets|grep Speed|awk '{print $2}'`
echo " Speed_$nets : ${speed_nets}"
echo " Duplex_$nets : ${duplex_nets}"
echo " Negotiation_$nets : ${Negotiation_nets}"
echo
done
}

####System Version
system_info(){
echo "**********************************************"
echo "system info:"
echo
echo "hostname: " `hostname`
echo "System Version:" `cat /etc/issue|head -n 1`
echo "System Bits: " `uname -m`
echo "System kernel:" `uname -r`
echo "System runlevel: " `runlevel`
echo "Server-Model : `dmidecode | grep "Product Name:"|sed -n '1p'|awk -F: '{print $2}'`"
echo
}

####Cpuinfo
cpu_info(){
echo "**********************************************"
echo "CPU info:"
echo
echo " How much cpu: " `more /proc/cpuinfo |grep "physical id"|uniq|wc -l`
echo " A cpu several nuclear: " `more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l`
echo " How nuclear: " `cat /proc/cpuinfo |grep "processor"|wc -l`
echo " Cpu Name: " `cat /proc/cpuinfo |grep "model name"|uniq|awk -F: '{print $2}'`
echo " cpu MHz: " `cat /proc/cpuinfo |grep MHz|uniq|awk -F: '{print $2}'`
echo " Cpu cache size" `cat /proc/cpuinfo |grep "cache size"|uniq|awk -F: '{print $2}'`
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 " `cat /proc/meminfo|grep "MemFree"` "
echo " `cat /proc/meminfo|grep "Buffers"` "
echo " `cat /proc/meminfo|grep "^Cached"` "
echo
echo "Swap info:"
echo " `cat /proc/meminfo|grep "SwapTotal"` "
echo " `cat /proc/meminfo|grep "SwapFree"` "
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
}

timedate
system_info
cpu_info
mem_info
partition_info
ipaddr
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell 脚本