设为首页 收藏本站
查看: 750|回复: 0

快速获得服务器基本信息(debian centos)shell脚本

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2018-8-29 09:06:13 | 显示全部楼层 |阅读模式
#!/bin/bash  
#--------------------------------------------------
  
#Date:June 15 2015
  
#Author:jimmygong
  
#Mail:jimmygong@taomee.com
  
#Function:
  
#Version:1.0
  
#--------------------------------------------------
  
set -o nounset
  
line='======================================================================'
  
greencolor='\E[1;32m'
  

  
if [[ `id -u` -ne 0 ]]
  
then
  
    echo "sctipts need root"
  
    exit 0
  
fi
  
function os ()
  
{
  
    manufacturer=$(dmidecode -s system-manufacturer)
  
    product=$(dmidecode -s system-product-name)
  
    sn=$(dmidecode -s system-serial-number)
  
    nu=$(dmidecode|grep "Height")
  
    if [[ -e /etc/debian_version ]]
  
    then
  
        unamev=$(uname -r)
  
        unamem=$(uname -m)
  
        echo -e "${greencolor}"Os:"debian ${unamev} ${unamem}\n${line}"
  
                apt-get -y install lsscsi curl pciutils dmidecode --force-yes > /dev/null 2>&1
  
    elif [[ -e /etc/redhat-release ]]
  
    then
  
        release=$(cat /etc/redhat-release)
  
        echo -e "${greencolor}"Os:"${release}\n${line}"
  
                yum -y install lsscsi curl pciutils dmidecode > /dev/null 2>&1
  
    else
  
        echo "unkown release"
  
    fi
  
    if [[ -e /boot/grub/menu.lst ]]
  
    then
  
        grub1=$(cat /boot/grub/menu.lst|egrep -v "^#|^$")
  
        echo -e "Grub:\n${grub1}\n${line}"
  
    else
  
        grub2=$(cat /etc/default/grub|egrep -v "^#|^$")
  
        echo -e "Grub:\n${grub2}\n${line}"
  
    fi
  
    echo -e "Manufacturer:${manufacturer}"
  
    echo -e "Product:${product}"
  
    echo -e "Sn:${sn}"
  
    echo -e "U:${nu}\n${line}"
  
}
  
function cpu ()
  
{
  
    mode=$(getconf LONG_BIT)
  
    counts=$(cat /proc/cpuinfo|grep "physical id"|sort|uniq -c|wc -l)
  
    cores=$(grep 'cpu cores' /proc/cpuinfo|uniq|awk -F : '{print $2}' |sed 's/^[ \t]*//g')
  
    processor=$(cat /proc/cpuinfo|grep "processor"|wc -l)
  
    cpu=$(grep 'model name' /proc/cpuinfo|uniq|awk -F : '{print $2}' |sed 's/^[ \t]*//g' |sed 's/ \+/ /g')
  
    echo -e "Total Of Physical Cpu:${counts}"
  
    echo -e "Number Of Cpu Cores:${cores}"
  
    echo -e "Number Of Cpu Processor:${processor}"
  
    echo -e "Present Mode Of Cpu:${mode}"
  
    echo -e "Cpu Model:${cpu}\n${line}"
  
}
  
function mem ()
  
{
  
    swap=$(cat /proc/meminfo|grep SwapTotal|awk -F: '{print $2}'|awk -F" " '{print $1}')
  
    swap=$(expr $swap / 1024)
  
    mem=$(cat /proc/meminfo|grep MemTotal|awk -F: '{print $2}'|awk -F" " '{print $1}')
  
    memory=$(dmidecode|grep -i -C5 'Memory Device'|grep -v "No Module Installed"|grep -i size|grep -v "Range")
  
    memoryslot=$(dmidecode|grep -i -C5 'Memory Device'|grep "No Module Installed"|wc -l)
  
    mem=$(expr $mem / 1024)
  
    remem=$(free -m|grep cache|awk '/[0-9]/{ print $4" MB" }')
  
    echo -e "Memslot:${memoryslot}"
  
    echo -e "Number Of Mem:\n${memory}"
  
    echo -e "Total Of Mem:${mem}MB"
  
    echo -e "Total Of Swap:${swap}MB"
  
    echo -e "RemainMem:${remem}\n${line}"
  
}
  
function disk ()
  
{
  
    disk=$(fdisk -l|grep 'Disk'|awk -F , '{print $1}' | sed 's/Disk identifier.*//g' | sed '/^$/d')
  
    dftotal=$(df -h|grep "^/dev"|grep -v Filesystem)
  
    dfinode=$(df -i|grep "^/dev"|grep -v Filesystem)
  
    fstab=$(cat /etc/fstab|egrep -v "^#|^$"'|media|proc'|awk '{print $1,$2,$3,$4}')
  
    blkid=$(blkid)
  
    lsscsicmd=$(lsscsi)
  
    lspcicmd=$(lspci|egrep -i "sas|raid")
  
        echo -e "Scsi:\n${lsscsicmd}"
  
    echo -e "Raid:\n${lspcicmd}"
  
    echo -e "Disktotal:\n${disk}"
  
    echo -e "Dftotal:\n${dftotal}"
  
    echo -e "Dfinode:\n${dfinode}"
  
    echo -e "Fstab:\n${fstab}"
  
    echo -e "Blkid:\n${blkid}\n${line}"
  
}
  
function timezone ()
  
{
  
    if [[ -e /etc/timezone ]]
  
    then
  
        timezone1=$(cat /etc/timezone)
  
        echo -e "Timezone:${timezone1}\n${line}"
  
    else
  
        timezone2=$(cat /etc/sysconfig/clock|grep -v "^#"|grep -v "^$"|awk -F"=" '{print $2}')
  
        echo -e "Timezone:${timezone2}\n${line}"
  
    fi
  
}
  
function network ()
  
{
  
    hostnamecmd=$(cat /proc/sys/kernel/hostname)
  
    namecmd=$(cat /etc/resolv.conf|grep "nameserver"|egrep -v "^#|^$")
  
    innerip=$(hostname -i)
  
    outerip=$(curl -s ip.cip.cc)
  
    echo -e "${namecmd}"
  
    echo -e "Hostname:${hostnamecmd}"
  
    echo -e "Innerip:${innerip}"
  
    echo -e "Outerip:${outerip}\n${line}"
  
}
  
function ipmi ()
  
{
  
    lsmodipmi=$(lsmod|grep ipmi)
  
    if [[ $? -eq 0 ]]
  
    then
  
        ipmi=$(ipmitool lan print|grep "IP Address"|sed 's/IP Address Source.*//g'| sed '/^$/d')
  
        echo -e "Ipmi:${ipmi}"
  
    fi
  
    tty=$(ps aux|grep -w "ttyS1"|grep -v grep||ps aux|grep -w "ttyS0"|grep -v grep)
  
    if [[ $? -eq 0 ]]
  
    then
  
        echo -e "TtyS:${tty}\n${line}"
  
    fi
  
}
  
function processid ()
  
{
  
    ss -s|head -2
  
    net=`netstat -tpnl|grep LISTEN|awk '{print $4,$7}'`
  
    echo -e "Netstattpnl:\n${net}"
  
    processnum=`ss -pl|awk -F: '{print $4}'|awk -F"," '{print $2}'|sed '/^$/d'|wc -l`
  
    for ((i=1;i/dev/null|awk '{print $2}'`
  
        do
  
            let num=$num+$swap
  
        done
  
        echo -e "${pid}\t${num}\t${program}"
  
        num=0
  
    done|sort -nrk2|head
  
    echo -e ${line}
  
}
  
function mima ()
  
{
  
    num=$(cat /etc/passwd|grep "/bin/bash"|awk -F: '{print $1}'|wc -l)
  
    for ((i=1;i

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-557975-1-1.html 上篇帖子: shell脚本获得本机ip地址 下篇帖子: shell学习之函数与库(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表