Business daily inspection shell script

Internal Linux View System Information

 

 

 

 

 

 

 

 $ INTERNET192 ignored

 

 

 

 

 

  1 #!/bin/bash
  2 
  3 function system(){
  4 echo "#########################系统信息#########################"
  5 OS_TYPE=`uname`
  6 OS_VER=`cat /etc/redhat-release`
  7 OS_KER=`uname -a|awk '{print $3}'`
  8 OS_TIME=`date +%F_%T`
  9 OS_RUN_TIME=`uptime |awk '{print $3}'|awk -F, '{print $1}'`
 10 OS_LAST_REBOOT_TIME=`who -b|awk '{print $2,$3}'`
 11 OS_HOSTNAME=`hostname`
 12 
 13 echo "    系统类型:$OS_TYPE"
 14 echo "    系统版本:$OS_VER"
 15 echo "    系统内核:$OS_KER"
 16 echo "    当前时间:$OS_TIME"
 17 echo "    运行时间:$OS_RUN_TIME"
 18 echo "最后重启时间:$OS_LAST_REBOOT_TIME"
 19 echo "    本机名称:$OS_HOSTNAME"
 20 }
 21 function network(){
 22 
 23 echo "#########################网络信息#########################"
 24 INTERNET=(`ifconfig|grep ens|awk -F: '{print $1}'`)   # centos6 ifconfig | grep Bcast | awk '{print $2}' | awk -F : '{print $2}'
 25 for((i=0;i<`echo ${#INTERNET[*]}`;i++))
 26 do 
 27   OS_IP=`ifconfig ${INTERNET[$i]}|head -2|grep inet|awk '{print $2}'`
 28   echo "      本机IP:${INTERNET[$i]}:$OS_IP"
 29 done
 30 curl -I http://www.baidu.com &>/dev/null # 测试
 31 if [ $? -eq 0 ]
 32     then echo "    访问外网:成功"
 33 else 
 34     echo "    访问外网:失败"
 35 fi
 36 }
 37 
 38 function hardware(){
 39 
 40 echo "#########################硬件信息#########################"
 41 CPUID=`grep "physical id" /proc/cpuinfo |sort|uniq|wc -l`
 42 CPUCORES=`grep "cores" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'`
 43 CPUMODE=`grep "model name" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'`
 44 
 45 echo "     CPU数量: $CPUID"
 46 echo "     CPU核心:$CPUCORES"
 47 echo "     CPU型号:$CPUMODE"
 48 
 49 MEMTOTAL=`free -m|grep Mem|awk '{print $2}'`
 50 MEMFREE=`free -m|grep Mem|awk '{print $7}'`
 51 
 52 echo "  内存总容量: ${MEMTOTAL}MB"
 53 echo "剩余内存容量: ${MEMFREE}MB"
 54 
 55 disksize=0
 56 swapsize=`free|grep Swap|awk {'print $2'}`
 57 partitionsize=(`df -T|sed 1d|egrep -v "tmpfs|sr0"|awk {'print $3'}`)
 58 for ((i=0;i<`echo ${#partitionsize[*]}`;i++))
 59 do
 60 disksize=`expr $disksize + ${partitionsize[$i]}`
 61 done
 62 ((disktotal=\($disksize+$swapsize\)/1024/1024))
 63 
 64 echo "  磁盘总容量: ${disktotal}GB"
 65 
 66 diskfree=0
 67 swapfree=`free|grep Swap|awk '{print $4}'`
 68 partitionfree=(`df -T|sed 1d|egrep -v "tmpfs|sr0"|awk '{print $5}'`)
 69 for ((i=0;i<`echo ${#partitionfree[*]}`;i++))
 70 do
 71 diskfree=`expr $diskfree + ${partitionfree[$i]}`
 72 done
 73 
 74 ((freetotal=\($diskfree+$swapfree\)/1024/1024))
 75 
 76 echo "剩余磁盘容量:${freetotal}GB"
 77 }
 78 
 79 
 80 function secure(){
 81 echo "#########################安全信息#########################"
 82 
 83 countuser=(`last|grep "still logged in"|awk '{print $1}'|sort|uniq`)
 84 for ((i=0;i<`echo ${#countuser[*]}`;i++))
 85 do echo "当前登录用户:${countuser[$i]}"
 86 done
 87  
 88 md5sum -c --quiet /opt/passwd.db &>/dev/null
 89 if [ $? -eq 0 ]
 90 then echo "    用户异常:否"
 91 else echo "    用户异常:是"
 92 fi
 93 }
 94 
 95 function chksys(){
 96 system
 97 network
 98 hardware
 99 secure
100 }

 

 

 

 

 

 

Guess you like

Origin www.cnblogs.com/security-guard/p/11990434.html