shell脚本监控主机性能

3 篇文章 0 订阅
1. 编写sysmon.sh脚本文件
dug=$(df -h | grep "/$" | awk '{print $5}' | awk -F% '{print $1}')                    #获取磁盘占用大小
cug=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))	  #获取cup使用率
mug=$(expr $(free | grep "Mem:" | awk '{print $3}') \* 100 / $(free | grep "Mem:" | awk '{print $2}'))  #获取内存占用空间
log="/mnt/www.txt"																	  #设置日志变量
email="root"																		  #邮箱用户
datetime=`date +%Y-%m-%d---%H:%m:%s`												  #获取当前系统时间
if [ $dug -gt 90 ]
then
  echo "时间${datetime}时:磁盘占用空间大于90%" >> /mnt/www.txt
fi
if [ $cug -gt 80 ]
then
  echo "时间${datetime}时:CPU使用率大于80%" >> /mnt/www.txt
fi
if [ $mug -gt 90 ]
then
  echo "时间${datetime}时:内存使用空间大于90%" >> /mnt/www.txt
fi
if [ -f $log ]																		  #如果日志目录存在,发送邮件并删除当前日志
then
  cat $log | mail -s "Host Alert" $email
  rm -rf $log
fi
2. 添加执行权限,运行脚本文件
[root@centos08 ~]# chmod +x sysmon.sh 
[root@centos08 ~]# ./sysmon.sh

在这里插入图片描述

3. 查看邮箱文件
[root@centos08 mnt]# cat /var/spool/mail/root

在这里插入图片描述

5. 设置计划任务,每30分钟执行脚本,实现实时监控主机
[root@centos08 ~]# crontab -e
*/30 * * * * /usr/bin/sh  /mnt/sysmon.sh 

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值