返回列表 发帖

使用Shell脚本监控本机的CPU、内存、分区的使用率

笺注:这是在 CentOS6使用mailx(使用新浪邮箱的465端口) 的基础上进行的。


监控本机的CPU、内存、分区的使用率的脚本:
[root@localhost ~]# cat check.sh
#!/bin/bash

CPU_use_percent=$(expr 100 - $(vmstat -w |tail -1 |awk '{print $15}'))
echo "CPU使用率:${CPU_use_percent}%"

if [ $CPU_use_percent -gt 5 ]; then #CPU使用率超过5%就发送告警邮件
echo "CPU_use_percent is ${CPU_use_percent}% now." | mail -s "blog.zhuohua.store(47.75.39.177) has problem. " 2270168881@qq.com &> /dev/null
echo "Send mail."
fi

echo "----------"

Mem_use_percent=$(expr $(free |head -3 |tail -1 |awk '{print $3}') \* 100 / $(free |grep "Mem:" |awk '{print $2}'))
echo "内存使用率:${Mem_use_percent}%"

if [ $Mem_use_percent -gt 20 ]; then #内存使用率超过20%就发送告警邮件
echo "Mem_use_percent is ${Mem_use_percent}% now." | mail -s "blog.zhuohua.store(47.75.39.177) has problem. " 2270168881@qq.com &> /dev/null
echo "Send mail."
fi

echo "----------"

Root_use_percent=$(df -hl |grep /$ |awk '{print $4}' |awk -F% '{print $1}')
echo "根分区使用率:${Root_use_percent}%"

if [ $Root_use_percent -gt 3 ]; then #根分区使用率超过3%就发送告警邮件
echo "Root_use_percent is ${Root_use_percent}% now." | mail -s "blog.zhuohua.store(47.75.39.177) has problem. " 2270168881@qq.com &> /dev/null
echo "Send mail."
fi

echo "----------"

Boot_use_percent=$(df -hl |grep /boot$ |awk '{print $5}' |awk -F% '{print $1}')
echo "分区/boot的使用率:${Boot_use_percent}%"

if [ $Boot_use_percent -gt 18 ]; then #分区/boot的使用率超过18%就发送告警邮件
echo "Boot_use_percent is ${Boot_use_percent}% now." | mail -s "blog.zhuohua.store(47.75.39.177) has problem. " 2270168881@qq.com &> /dev/null
echo "Send mail."
fi


脚本运行的结果:
[root@localhost ~]# bash check.sh
CPU使用率:7%
Send mail.
----------
内存使用率:23%
Send mail.
----------
根分区使用率:5%
Send mail.
----------
分区/boot的使用率:8%
[root@localhost ~]#


QQ邮箱收到的告警邮件:(每触发一条告警条件,新浪邮箱就发送一封告警邮件)
图片1.png

图片2.png

图片3.png





###########
###########

设置脚本权限:
[root@localhost ~]# chmod 755 check.sh
[root@localhost ~]# ll check.sh
-rwxr-xr-x 1 root root 1261 2月   8 12:28 check.sh
[root@localhost ~]#


给系统用户root添加crontab计划任务,每隔5分钟运行一次脚本:
[root@localhost ~]# crontab -e -u root
追加:
*/5 * * * * bash /root/check.sh

查看系统用户root的crontab计划任务:
[root@localhost ~]# crontab -l -u root
*/5 * * * * bash /root/check.sh





相关文章:
使用Shell脚本监控本机的服务运行状态
最小化安装CentOS6
Linux常用命令(一)
if语句

本地备份站点目录和数据库+crontab计划任务

Oracle Linux6.9的安装
PuTTY远程管理CentOS8

Python3调用Linux命令
CentOS8使用psutil+新浪邮箱使用465端口发送邮件





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^


旖旎澳洲|香浓夏果;包邮【七猩猩_夏威夷果207g*2袋】奶油味 澳洲进口坚果休闲食品,颗粒大奶味足,送开果器
xianweiyi.png

FaSoLa内衣收纳盒三件套 文胸内裤袜子收纳箱有盖整理箱储物
neiyi.png

FaSoLa日式 沥水架 大号塑料厨房 碗碟沥水置物架 厨房角架 碗架
lishui.png

苏泊尔电磁炉火锅家用智能正品学生电池炉灶特价炒菜
su.png

透明文字包中包潮酷风范透明时尚女包斜挎单肩手提包SN-8925
bao.png

返回列表