您现在的位置是:首页 > 正文

关于shell脚本之——监控脚本

2024-04-01 00:48:41阅读 1
#!/bin/bash
NC=$(expr $(free | grep "Mem:" | awk '{print $3}') \* 100 / $(free|grep "Mem:"|awk '{print $2}'))		#查看内存状态并转化为百分比
CPU=$(expr 100 - $(mpstat |tail -1 | awk '{print $12}' |awk -F. '{print $1}'))	#查看CPU状态并提取出百分比数值
CP=$(df -h |grep "/$" |awk '{print $5}'|awk -F% '{print $1}')		#查看磁盘状态并提取百分比
GJ="gaojing.txt"		#定义一个告警的文件
GJmail="1732628551@qq.com"		#定义告警需要发送的邮箱
if [ $NC -gt 90 ];then			#判断内存是否大于等于百分之90,是就存到告警文件中
echo "内存使用率:$NC% >> $GJ"
fi
if [ $CPU -gt 80 ];then		#同理CPU超80就存到告警文件
echo "cpu使用率:$CPU >> $GJ"
fi
if [ $CP -gt 90 ];then		#磁盘超过90就存到告警文件
echo "根分区磁盘占用率:$CP >> $GJ"
fi
if [ -f $GJ ];then
cat $GJ | mail -s "警告" $GJmail
rm -rf $GJ
fi
chmod 777 /root/sysmon.sh
echo "*/30 * * * * /root/sysmon.sh"  >> /var/spool/cron/root	#写一个周期任务每30分钟执行一次脚本监控

网站文章