DELL 서버 하드웨어 정보 수집 SHELL 스 크 립 트

최근 에 자산 목록 을 만들어 야 합 니 다. DELL 서버 의 하드웨어 정 보 를 수집 하려 면 다음 과 같은 정 보 를 포함 합 니 다.
1. 운영 체제 정보 (유형, 버 전, 커 널, 플랫폼, 호스트 이름)
2. 메인보드 정보 (제조 업 체, 기종, 일련 번호)
3. CPU 정보 (모델, 개수, 물리 핵 수)
4. 메모리 (개수, 단일 용량)
5. 디스크 (개수, 단일 용량, 디스크 종류, 레이 드 등급)
실행 하기 전에 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
" printf "OS_DETAIL: $kname $nodename $kernal $bit
" } get_os_info #get vendor, model, sn... function motherboard() { 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
" printf "SN: $sn
" } motherboard function memory() { 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"
" } memory 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")
" } 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)
" } diskinfo

스 크 립 트 실행 결 과 는 다음 과 같 습 니 다.
OS_RELEASE: CentOS_6.5_x86_64
OS_DETAIL: Linux appsrv 2.6.32-431.el6.x86_64 x86_64
MODEL: Dell R730
SN: CDFGHJL
MEM: 4*8G
CPU: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz(2*8Cores)
DISK: 2*279.396GB SAS (Raid Level: 1)

좋은 웹페이지 즐겨찾기