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

shell写的检测linux系统硬件信息的脚本

[复制链接]

尚未签到

发表于 2018-8-17 07:02:08 | 显示全部楼层 |阅读模式
  前面用python写了一个检测windonws硬件信息的脚本,这里是很久之前用shell写的一个linux系统硬件信息检测脚本,可以对照看一下。检测内容基本一样:操作系统信息、内存、CPU、硬盘分区及挂载情况,网卡配置情况、安装的软件信息等。
  


  • #!/bin/bash
  • #This script is used to check the server
  • #system info
  • system_info() {
  • echo "**********************************************"
  • echo "system info:"
  • echo
  • echo "   System-release : `cat /etc/redhat-release`"
  • echo "   Kernel-release : `uname -a|awk '{print $1,$3}'`"
  • echo "   Server-Model : `dmidecode | grep "Product Name:"|sed -n '1p'|awk -F': ' '{print $2}'`"
  • echo
  • }




  • #CPU info
  • cpu_info() {
  • echo "**********************************************"
  • echo "CPU info:"
  • echo
  • echo "    Frequency : `cat /proc/cpuinfo | grep "model name" | uniq |awk -F': ' '{print $2}'`"
  • echo "    CPU cores:  `cat /proc/cpuinfo | grep "cpu cores" | uniq |awk -F': ' '{print $2}'`"
  • echo "    Logic Count : `cat /proc/cpuinfo | grep "processor" | sort -u| wc -l `"
  • echo "    Physical Count : `cat /proc/cpuinfo | grep "physical" | sort -u| wc -l`"
  • echo "    Cache size : `cat /proc/cpuinfo| grep "cache size"|uniq|awk '{print $4,$5}'`"
  • echo
  • }





  • #memory info
  • mem_info() {
  • memory=`dmidecode |grep "Range Size"|head -1|awk '{print $3$4}'`
  • mem_size=`echo "This server has ${memory} memory."`

  • echo "**********************************************"
  • echo "Memory info:"
  • echo
  • echo "   Total : ${mem_size}"
  • echo "   Count : `dmidecode |grep -A16 "Memory Device$"|grep Size|awk '{if($2!~/No/) print $0}'|wc -l`"
  • dmidecode |grep -A20 "Memory Device$"|grep Size|sed '{s/^       */   /g};{/No/d}'
  • echo
  • }





  • #disk and partitions
  • swap_pos=`cat /proc/swaps|sed -n '2p'|awk '{print $1}'`
  • partition_info() {
  • echo "**********************************************"
  • echo "Hard disk info:"
  • echo
  • echo "`fdisk -l|grep Disk|awk -F, '{print $1}'`"
  • echo "**********************************************"
  • echo "Partition info:"
  • echo
  • df -h | grep -v Filesystem | sed "s:none:${swap_pos}:"
  • echo
  • }


  • #network adapter info
  • adapter_info() {

  • duplex_eth0=`ethtool eth0 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if($2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`

  • duplex_eth1=`ethtool eth1 | grep Duplex | awk '{if($2~/Full/) print "Full"};{if($2~/Half/)print "Half"};{if($2~/Uknown!/) print "unknown"}'`

  • Negotiation_eth0=`ethtool eth0 | grep "Advertised auto-negotiation"|awk -F': ' '{if($2~/No/) print "Non-negotiation."};{if($2~/Yes/) print "Negotiation"}'`

  • Negotiation_eth1=`ethtool eth1 | grep "Advertised auto-negotiation"|awk -F': ' '{if($2~/No/) print "Non-negotiation"};{if($2~/Yes/) print "Negotiation"}'`

  • IP_eth0=`cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep IPADDR|awk -F= '{print $2}'`

  • IP_eth1=`cat /etc/sysconfig/network-scripts/ifcfg-eth1|grep IPADDR|awk -F= '{print $2}'`

  • speed_eth0=`ethtool eth0|grep Speed|awk '{print $2}'`
  • speed_eth1=`ethtool eth1|grep Speed|awk '{print $2}'`

  • echo "**********************************************"
  • echo "Network adapter info:"
  • echo
  • echo "  IP_eth0 : ${IP_eth0}        IP_eth0 : ${IP_eth1}"
  • echo "  Speed_eth0 : ${speed_eth0}          Speed_eth1 : ${speed_eth1}"
  • echo "  Duplex_eth0 : ${duplex_eth0}            Duplex_eth1 : ${duplex_eth1}"
  • echo "  Negotiation_eth0 : ${Negotiation_eth0}  Negotiation_eth1 : ${Negotiation_eth1}"
  • echo
  • }




  • #software package
  • software_info() {
  • echo "**********************************************"
  • echo "SELinux is `cat /etc/selinux/config |grep SELINUX=disabled|awk -F= '{print $2}'||echo "enabled"`"
  • echo "`service iptables status|sed 's/Firewall/Iptables/g'`"
  • echo
  • echo "**********************************************"
  • sed -n '/%packages/,/%post/p;' /root/anaconda-ks.cfg|sed '/%post/d;/^$/d'
  • echo "**********************************************"
  • }



  • #del mac-addr
  • #sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
  • #sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth1


  • system_info
  • cpu_info
  • mem_info
  • partition_info
  • adapter_info
  • software_info
  




运维网声明 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-552789-1-1.html 上篇帖子: 用SHELL脚本来防SSH和vsftpd暴力破解(第②版) 下篇帖子: Shell 语法和工作实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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