#!/bin/bash
###系统信息#########
os_system(){
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 +%F_%T)
echo "服务器当前运行时间:${os_time}"
os_last_reboot=$(uptime |awk '{print $3}'|awk -F ',' '{print $1}')
echo "服务器最后重启时间:${os_last_reboot}"
os_hostname=$(hostname)
echo "服务器主机名称:${os_hostname}"
}
####网络信息#################
os_network(){
ip_addr=$(ifconfig |awk '/broadcast/{print $2}')
echo "服务器的ip地址:${ip_addr}"
ping -c3 www.baidu.com >/dev/null
if [ $? -eq 0 ]; then
echo "服务器的网络是ok的"
else
echo "check 服务器的网络"
fi
#流入的量
RX=$(ifconfig ens33|grep RX|head -n1|awk '{print $5/1024/1024}')
#流出的量
TX=$(ifconfig ens33|grep TX|head -n1|awk '{print $5/1024/1024}')
}
########硬件信息#######
cpu_info(){
#cpu
cpu_num=$(cat /proc/cpuinfo |grep "physical id"|sort |uniq |wc -l)
echo "cpu个数:${cpu_num}"
cpu_core=$(cat /proc/cpuinfo |grep "cores"|sort |uniq |awk -F ':' '{print $2}')
echo "cpu核心数:${cpu_core}"
cpu_model=$(cat /proc/cpuinfo |grep "model name"|sort |uniq |awk -F ':' '{print $2}')
echo "cpu型号:${cpu_model}"
}
mem_info(){
#总内存大小
mem_total=`free -m | sed -n '2p' |awk '{print $2}'`
#已使用内存
mem_used=`free -m | sed -n '2p' |awk '{print $3}'`
#剩余内存
mem_free=`free -m |sed -n '2p' |awk '{print $4}'`
#使用内存百分比
Percent_mem_used=`echo "scale=2; $mem_used / $mem_total *100" | bc`
#剩余内存百分比
Percent_mem_free=`echo "scale=2; $mem_free / $mem_total *100" | bc`
echo "目前内存使用率达到:${Percent_mem_used}%"
}
disk_info(){
#磁盘
##统计磁盘IO 性能指标(tps,每秒读取的量,每秒写入的量)
yum -y install sysstat
iostat
#-F '[ |%]+':+正则表达式 表示一个或多个,这里就表示一个或多个空格或%
##显示已用超过80%的文件系统
#方法一:
df -Th|awk -F '[ |%]+' 'NR>1 {if($6>80) print $1}'
#方法二:
df -Th|awk 'NR>1 {if ($6>80) print $1}'
#磁盘总量
disktotal=$(lsblk |awk '/disk/{print $4}')
echo "磁盘总量为:${disktotal}"
#剩余磁盘总量
sum=0
a=($(df -T |grep -v tmpfs|awk -F' ' '{print $5}' |sed '1d'))
for i in ${a[@]}
do
let sum=sum+$i
done
diskfree=$(($sum/1024/1024))
echo "磁盘剩余总量为:${diskfree}GB"
}
##############安全信息########################
sec_info(){
##统计登录用户信息
count_user=$(last|grep "still logged in"|awk '{print $1}'|sort |uniq)
echo "登录用户信息:${count_user}"
##md5校验/etc/passwd
[ -f /opt/pwd ] || md5sum /etc/passwd > /opt/pwd
md5sum -c /opt/pwd >/dev/null
if [ $? -eq 0 ]; then
echo "file is ok"
else
echo "文件被篡改,please check !"
fi
}
while :
do
os_system
os_network
cpu_info
mem_info
disk_info
sec_info
done
日常巡检
最新推荐文章于 2023-08-16 08:06:35 发布