AI智能
改变未来

shell-企业级巡检自动化(简单)


系统版本centos7

 shell代码

[code]#!/bin/bashcpu_info(){#cpu信息 /proc/cpuinfo里#cpu 型号cpu_model=$(cat /proc/cpuinfo |grep \"model name\"|uniq |awk -F \':\' \'{print $2}\')echo \"cpu的型号信息:${cpu_model}\"#cpu的核心数cpu_core=$(cat /proc/cpuinfo |grep \"core id\"|uniq |wc -l)echo \"cpu的核心数:${cpu_core}\"#cpu的物理个数cpu_physical=$(cat /proc/cpuinfo |grep \"physical id\"|uniq |wc -l)echo \"cpu的物理个数:${cpu_physical}\"}mem_info(){#mem信息#内存总量mem_total=$(free  -m|awk \'/Mem/{print $2}\')echo \"内存总量:${mem_total}\"#内存使用量mem_used=$(free  -m|awk \'/Mem/{print $3}\')echo \"内存使用量: ${mem_used}\"#内存剩余使用量mem_free=$(free -m |awk \'/Mem/{print $4}\')echo \"内存剩余使用量: ${mem_free}\"#内存使用率#内存使用率=$mem_used/$mem_totalPercent_mem_used=$(echo \"scale=2;${mem_used}/${mem_total}*100\"|bc)echo \"内存使用率:${Percent_mem_used}%\"#剩余内存使用率#剩余内存使用率=$mem_free/$meme_totalPercent_mem_free=$(echo \"scale=2;${mem_free}/${mem_total}*100\"|bc)echo \"剩余内存使用率:${Percent_mem_free}%\"}disk_info(){#磁盘信息#对磁盘读写进行监控,并输出结果yum -y install sysstatiostat#磁盘总量disk_total=$(lsblk |awk \'/disk/{print $4}\')echo \"磁盘总量:${disk_total}\"#磁盘剩余总量sum=0a=($(df -T |awk -F\' \' \'{print $5}\' |sed \'1d\'))for i in ${a[@]}dolet  sum=sum+$idonediskfree=$(($sum/1024/1024))echo \"磁盘剩余总量为:${diskfree}GB\"#对文件系统进行检查,查看使用率是否达到80%,并输出结果df -h|awk \'NR>1 {if ($5>80) print $1}\'}net_info(){#网络信息#获取主机ipnet_addr=$(ifconfig ens33 | grep netmask | awk \'{print $2}\'})echo \"主机ip地址为:${net_addr}\"#能否ping通外网ping -c1 www.baidu.com >/dev/nullif [ $? -eq 0 ]; thenecho \"net is ok\"elseecho \"please check network !!\"fi#统计网卡流量RX=$(ifconfig ens33|grep RX|head -n1|awk \'{print $6}\'|awk -F\'(\' \'{print $2}\')echo \"网卡流入的量为:${RX}MB\"TX=$(ifconfig ens33|grep TX|head -n1|awk \'{print $6}\'|awk -F\'(\' \'{print $2}\')echo \"网卡流出的量为:${TX}MB\"}#系统信息sys_info(){OS_TYPE=`uname`echo \"    系统类型:$OS_TYPE\"OS_VER=`cat /etc/redhat-release`echo \"    系统版本:$OS_VER\"OS_KER=`uname  -r`echo \"    系统内核:$OS_KER\"OS_TIME=`date`echo \"    当前时间:$OS_TIME\"OS_RUN_TIME=`uptime |awk \'{print $3}\'|awk -F \',\' \'{print $1}\'`echo \"    运行时间:$OS_RUN_TIME\"OS_LAST_REBOOT_TIME=`who -b|awk \'{print $2,$3}\'`echo \"最后重启时间:$OS_LAST_REBOOT_TIME\"OS_HOSTNAME=`hostname`echo \"本机名称:$OS_HOSTNAME\"}sec_info(){#安全信息#获取系统的环境变量#将环境变量的信息重定向到文件env >/opt/env#生成md5校验码md5sum /opt/env >/opt/env.db#检测md5值md5sum -c /opt/env.dbif [ $? -eq 0 ]; thenecho \"ok\"elseecho \"系统可用被黑了!!\"fi}service_info(){netstat  -lptnu|grep 3306if [ $? -eq 0 ]; thenecho \"mysql service is ok\"elseecho \"please check mysql service\"fi}check_website(){#curl选项#-I 仅测试HTTP头#-m 10 最多查询10s#-o /dev/null 屏蔽原有输出信息#-s silent 模式,不输出任何东西#-w %{http_code} 控制额外输出code=$(curl -I -m 10 -o /dev/null  -s  -w %{http_code} www.baidu.com)if [ $code -eq 200 ]; thenecho \"website is ok\"elseecho \"please check website\"fi}#函数调用每两秒循环一次while :docpu_infomem_infodisk_infonet_infosys_infosec_infoservice_infocheck_websitesleep 2done

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » shell-企业级巡检自动化(简单)