zoukankan      html  css  js  c++  java
  • 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
    "
        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
    
  • 相关阅读:
    php根据数组的某个值倒序和升序
    php函数排序方法 和 判断变量类型
    安装composer
    app生成token值 jwt生成
    Verilog语法基础讲解之参数化设计
    Verilog HDL基础语法讲解之模块代码基本结构
    NIOS II CPU复位异常的原因及解决方案
    关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
    ALTFP_CONVERT IP使用与仿真
    altera soc体验之旅 FPGA与ARM的窃窃私语
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/7844460.html
Copyright © 2011-2022 走看看