zoukankan      html  css  js  c++  java
  • Shell之监控cpu、内存、磁盘脚本

    #!/bin/bash
    
    #获取内存情况
    
    mem_total=`free | awk 'NR==2{print $2}'`  #获取内存总大小
    mem_use=`free  | awk 'NR==2{print $3}'`  #获取内存使用大小
    
    #统计内存使用率 (使用大小/总大小)
    
    mem_use_rate=`awk 'BEGIN{print('$mem_use'/'mem_total')*100}'`
    
    #echo $mem_use_rate
    
    #获取磁盘使用率
    disk_use_rate=`df -h | grep /dev/vda1 | awk -F '[ %]+' '{print $5}'`
    
    #echo $disk_use_rate
    
    #获取cpu使用率
    cpu_use_rate=`top -n 1 | grep Cpu |awk '{print $2}'`
    
    #echo $cpu_use_rate
    
    #报警时间
    file_log=/home/error.log  #提前创建
    now_time=`date '+%F %T'`
    
    function send_mail(){
    
            mail -s "监控报警"      *******@qq.com < /home/error.log
    }
    
    function check(){
    
            if [[ "men_use_rate" > 80 ]] || [[ "disk_use_rate" > 5 ]] || [[ "cpu_use_rate" > 50 ]];then   
                    echo "报警时间:"$now_time > $file_log
                    echo "cpu使用率:${cpu_use_rate}% --> 磁盘使用率:${disk_use_rate}% --> 内存使用率:${men_use_rate}"
                    send_mail
            fi
    }
    
    function main(){
            check
    }
    main

    操作系统:centos7.5     上面获取的数据显示34,相当于34%   报警部分可根据情况自己写上面用的是sendmail(阿里云服务器上有限制,鼓捣半天才发现需要开通,好像还收费,果断放弃)

    free

    df -h

    top -n 1 (top是实时监控,-n 1 显示那一时刻的数据)

  • 相关阅读:
    【洛谷P6835】线形生物
    【洛谷P2679】子串
    【洛谷P5072】盼君勿忘
    【洛谷P3312】数表
    【洛谷P1447】能量采集
    【洛谷P2257】YY的GCD
    【洛谷P4318】完全平方数
    【AT2300】Snuke Line
    window.showModalDialog
    js typeof
  • 原文地址:https://www.cnblogs.com/aloneysir/p/11358070.html
Copyright © 2011-2022 走看看