1. 程式人生 > 其它 >DELL伺服器硬體資訊採集SHELL指令碼

DELL伺服器硬體資訊採集SHELL指令碼

最近需要做資產列表,要採集DELL伺服器的硬體資訊,包括如下資訊:

1、作業系統資訊(型別,版本,核心,平臺,主機名)

2、主機板資訊(廠商,機型,序列號)

3、CPU資訊(型號,個數,物理核數)

4、記憶體(條數,單條容量)

5、磁碟(個數,單個容量,磁碟型別,Raid級別)


執行前請先安裝MegaRAID,為了提高工作效率,我們使用SHELL指令碼來實現,如下:

#!/bin/sh

#get os information

function get_os_info() {    
    release=`cat /etc/redhat-release | awk '{print $1"_"$3}'`
    kname
=`uname -s` nodename=`uname -n` kernal=`uname -r` bit=`uname -i` printf "OS_RELEASE: $release"_"$bit\n" printf "OS_DETAIL: $kname $nodename $kernal $bit\n" } get_os_info #get vendor, model, sn... function motherboardinfo() { vendor=`dmidecode -t 1|grep "Manufacturer"|awk
'{print $2}'` model=`dmidecode -t 1|grep "Product"|awk '{print $4}'` sn=`dmidecode -t 1|grep "Serial" |awk '{print $3}'` printf "MODEL: $vendor $model\n" printf "SN: $sn\n" } motherboardinfo function memoryinfo() { count=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed
"|awk '{print $2}'|uniq -c|awk '{print $1}'` capacity=`dmidecode -q -t 17 2 |grep "Size" |grep -v "No Module Installed"|awk '{print $2}'|uniq -c|awk '{print $2}'` capacity=`expr $capacity / 1024` printf "MEM: $count"*"$capacity"G"\n" } memoryinfo function cpuinfo() { cpu_model=`cat /proc/cpuinfo|grep "model name"|head -1|awk -F: '{print $2}'` cpu_count=`cat /proc/cpuinfo|grep "core id"|grep "0"|uniq -c|awk '{print $1}'` cpu_total_cores=`cat /proc/cpuinfo|grep "processor"|wc -l` single_cores=`expr $cpu_total_cores / $cpu_count` printf "CPU:$cpu_model($cpu_count"*"$single_cores"Cores")\n" } cpuinfo function diskinfo() { raidlevel=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL |grep "RAID"|awk '{print $3}'|cut -b 9-9` disknumber=`/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL | grep "Drives"|awk -F ":" '{print $2}'` disktype=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "PD Type"|head -1|awk -F: '{print $2}'` diskcapacity=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep "Raw Size" | head -1 | awk '{print $3}'` printf "DISK: $disknumber"*"$diskcapacity"GB"$disktype (Raid Level: $raidlevel)\n" } diskinfo


-----------------------------------
©著作權歸作者所有:來自51CTO部落格作者清風拂面的原創作品,如需轉載,請註明出處,否則將追究法律責任
DELL伺服器硬體資訊採集SHELL指令碼
https://blog.51cto.com/crazy123/1712254