检查系统信息的简单脚本

来源:互联网 发布:手机恶作剧软件大全 编辑:程序博客网 时间:2024/04/30 09:31
#!/bin/bash#检查系统信息#2017-08-29#auth cy#Version 2.0.2release_file='/etc/redhat-release';userfile=/etc/passwd;smart_bin=`which smartctl 2>/dev/null`;dmi_bin=`which dmidecode  2>/dev/null`;diskinfo=(`fdisk -l|awk 'FS="[ :,.]+"{if($0~/Disk \/.+\/[a-z]+:/){print $2":"$3$5}}'`);function define_check_user() {    if [ `id -u` -ne 0  ]    then        echo '请使用root用户执行脚本!';        exit 11;    fi}function define_check_tools() {    #检查是否安装"smartmontools","smartmontools"包含smartctl    if [ -n $smart_bin  ]    then        smart=true;    fi    #检查是否安装"dmidecode"    if [ -n $dmi_bin  ]    then        dmi=true;    fi    #操作系统名称    if [ -e $release_file ]    then        echo '操作系统名称:'    echo `cat $release_file`    fi}function define_Hardware_info() {    if [ $dmi == 'true'  ]    then        echo -ne '主板信息:\n';        dmidecode -t 2|awk 'FS=":"{if($0~/Manufacturer/ && $2 !~/Not Specified/){manufacturer=$2;}if($0~/Product Name/ && $2 !~/Not Specified/){product=$2;}}END{print  manufacturer" --"product;}';        echo -ne '内存信息:\n';        dmidecode -t 17|awk 'FS=":"{if($0 ~"Size:" && $2 !~ / No Module Installed/){num=NR+9}if(NR>num){b=0}else{b=1}}b{if($0 ~/Size:/ || $0 ~/[^ ]Speed:/ || $0 ~/Manufacturer:/){gsub(/\s/,"",$0);print $0}}';    fi    echo -ne '处理器信息:\n';        awk 'FS=": "{if($1~"model name"){print $2}}' /proc/cpuinfo;    echo -ne '磁盘驱动:\n';        #输出数组中的内容        for dev in ${diskinfo[*]}        do                dev_num=`echo $dev|cut -d':' -f1`;                dev_type=`smartctl -i $dev_num|awk 'FS=":"{if($1~"Device Model"){print $2}}'`;                if [ $smart == 'true'  ]                then                        echo -ne $dev_type"\n";                        echo -ne $dev"\n";                else                        echo -ne $dev"\n";                fi        done    echo -ne '网络适配器:\n';        lspci|awk 'FS=":"{if($0~"Ethernet controller"){print $3}}'}function define_tuning_system () {    userlist=`grep bash$ $userfile|cut -d: -f 1`    echo -ne "系统可登陆用户:\n"    echo -ne "$userlist "}function denfine_network_info (){    ipaddr=`ifconfig |grep 'inet '|awk '{print $2}'|sed '$d'`    ping -c 5 $ipaddr >>/dev/null &    if [ $? -eq 0 ]    then    echo    echo -ne '本机IP地址为:\n'    echo -ne "$ipaddr"    echo    else    echo -ne "本机没有配置IP地址"    fi}function denfine_other (){    if [ $smart == 'null' -o $dmi == 'null'  ]    then        echo '如需获取详细信息请使用"smartmontools"和"dmidecode"工具'    fi}define_check_userdefine_check_toolsdefine_Hardware_infodefine_tuning_systemdenfine_network_infodenfine_other

运行截图:
ShowHardwareInfo.sh

原创粉丝点击