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


    创建脚本 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    #邮件地址 配置为 libai@163.com,要提前配好。配置文件是/etc/mail.rc
    将上述脚本加入定时任务,每3分钟运行一次

    通过如下命令进入编辑定时任务的文件里: crontab -e
    #t添加如下内容
    */3 * * * * bash /root/free.sh

  • 相关阅读:
    时隔多年,从新认识浮动float
    The 2023 ICPC Asia Regionals Online Contest (1) E. Magical Pair(数论 欧拉函数)
    Django数据表修改方法
    C盘扩容(微PE工具箱)
    RealEvo许可证协议
    ML.NET 更新
    Unity性能优化分析篇
    Redis高级篇——持久化
    SQL - 函数
    部署Docker玩转Docker
  • 原文地址:https://blog.csdn.net/richard2t/article/details/132981493