编程技术分享平台

网站首页 > 技术教程 正文

实时监控linux系统内存和硬盘空间,空间不足发邮件告警

xnh888 2025-07-09 18:13:01 技术教程 4 ℃ 0 评论
  • 创建脚本 free.sh
#!/bin/bash

#需求:实时监控本机内存和硬盘的剩余空间,剩余内存小于500M时、根剩余空间小于1000M时,发送报警邮件给管理员

#1.获取剩余内存
free_memory=`free -m |awk 'NR==2{print $4}'`

#2.获取剩余磁盘空间
free_hard=`df -BM |awk 'NR==6{print $4}'` |sed 's/M//'

#3.如果内存和硬盘空间达到阈值,发送邮件
if [ $free_memory -le 500 ];then
                #写邮件
                echo "当前可用内存是:$free_memoryM" >> /tmp/messages.txt
                echo "当前内存不足,请转进维护服务器" >> /tmp/messages.txt

                #发邮件
                mail -s "当前可用内存是$free_memotyM"  libai@163.com < /tmp/messages.txt
fi

if [ $free_hard -le 1000 ];then
        #写邮件
        echo "当前可用硬盘是:$free_hardM" >> /tmp/messages.txt
        echo "当前硬盘空间不足,请抓紧时间维护" >> /tmp/messages.txt

        #发邮件
        mail -s "当前可用硬盘空间是$free_memotyM"  libai@163.com < /tmp/messages.txt
fi

#邮件地址 配置为 libai@163.com,要提前配好。配置文件是/etc/mail.rc
  • 将脚本加入定时任务,每3分钟执行一次
通过如下命令进入定时任务的编辑文件中:
	crontab -e
#添加如下内容
* /3 * * * * bash /root/free.sh

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表