Commonly used shell monitoring scripts

#!/bin/bash
os_sys(){
    
    
#系统信息
os_type=$(uname)
echo "操作系统的类型: ${os_type}"

os_version=$(cat /etc/redhat-release)
echo "#操作系统的版本号:${os_version}"

os_ker=$(uname -r)
echo "#操作系统的内核版本:${os_ker}"

os_time=$(date +%F_%T)
echo "#服务器当前的运行时间:${os_time}"

os_last_reboot=$(uptime |awk '{print $3,$4}'| awk -F ',' '{print $1}')
echo "#服务器最后重启时间: ${os_last_reboot}"

os_hsotname=$(hostname)
echo "#服务器的主机名: ${os_hostname}"
echo " "
}


os_network(){
    
    
#网络信息
ip_addr=$(ifconfig ens33 |awk '/netmask/{print $2}')
echo "服务器的IP地址为:${ip_addr}"
ping -c2 www.baidu.com > /dev/null
if [ $? -eq 0 ];then
	echo "服务器的网络正常"
else
	echo "数据异常请检查网路"
fi
RX=$(ifconfig ens33 | grep RX | sed -n '1p' | awk '{print $(NF-1),$NF}')
echo "网卡流入的量为:${RX}"
TX=$(ifconfig ens33 | grep TX | sed -n '1p' | awk '{print $(NF-1),$NF}')
echo "网卡流出的量为:${TX}"
echo " "

}
#cpu
cpu_info(){
    
    

cpu_num=$(cat /proc/cpuinfo |grep "physical id" | sort |uniq |wc -l)
echo "cpu的物理个数为:${cpu_num}"
cpu_core=$(cat /proc/cpuinfo |grep "core id" |sort |uniq |wc -l)
echo "cpu的核心个数为:${cpu_core}"
cpu_model=$(cat /proc/cpuinfo |grep "model name" |uniq |awk '{print $4,$6,$7,$9}')
echo "cpu的型号:${cpu_model}"
echo " "
}


#mem
mem_info(){
    
    
#内存总大小
mem_total=$(free |awk '/Mem/{print $2}')
echo "内存总大小: ${mem_total}"
#已使用内存
mem_used=$(free |awk '/Mem/{print $3}')
echo "已用内存大小:${mem_used}"
#剩余内存大小
mem_free=$(free |awk '/Mem/{print $4}')
echo "剩余内存大小:${mem_free}"
#已使用内存百分比
p_bfb=$(free |awk '/Mem/{printf "%.2f\n",$3/$2*100}')
echo "已使用内存百分比:${p_bfb}%"
#剩余内存百分比 
s_bfb=$(free |awk '/Mem/{printf "%.2f\n",$4/$2*100}')
echo "剩余内存百分比:${s_bfb}%"
echo " "
}

#disk
#磁盘总量
disk_info(){
    
    

disk_total=$(lsblk |awk '/disk/{print $4}')
echo " 磁盘总量为:${disk_total}"
count=($(df -Tm |egrep -v tmpfs |sed '1d' |awk '{print $5}'))
sum=0
for i in ${
    
    count[@]}
do

let sum=sum+$i

done
sumb=($sum/1024)
echo "剩余磁盘总量为 $sum M"

}
	#while :
	#do
	os_sys
	os_network
	cpu_info
	mem_info		
	disk_info

	#sleep 5
	#done

Guess you like

Origin blog.csdn.net/APPLEaaq/article/details/108587691