zoukankan      html  css  js  c++  java
  • shell脚本监控cpu/内存使用率 转

    该脚本检测cpu和内存的使用情况,只需要调整memorySetting、cpuSetting、userEmail要发邮件报警的email地址即可
    如果没有配置发邮件参数的哥们,已配置了的,直接飞到代码区:
    1.vim /etc/mail.rc
    2.找到以下内容
    set from=yangxingyi@duoduofenqi.com #来自什么
    set smtp=smtp.exmail.qq.com #根据您的邮箱发件服务器填写,我这位是TX的企业邮箱
    set smtp-auth-user=yangxingyi@duoduofenqi.com #邮箱用户名
    set smtp-auth-password=您的密码 #注意是发邮件密码,有的邮箱服务商登陆密码和发件密码不一样的哦
    set smtp-auth=login
    **配置完成后可以直接echo ‘test content’ |mail -s ‘test title’ yangxingyi@duoduofenqi.com
    如果收到邮件,说明您邮件配置是ok的,否则就是有见没配置好哦,重新检查用户名密码,smtp有没有填错!!!**
    如果您觉得有用的话直接搬走就行了,不用联系我!!!

    #/bin/sh
    #auth yangxingyi 2017-12-12 17:50
    #email openweixin666@126.com
    #this script check cpu used rate and memory used rate
    userEmail="269754243@qq.com openweixin666@126.com"
    webIp="www101.200.***.***"
    memorySetting="80"
    cpuSetting="80"
    #check memory used rate 
    totalMemory=$(free -m|awk '{print $2}'|sed -n '2p')
    usedMemory=$(free -m|awk '{print $3}'|sed -n '3p')
    freeMemory=$(free -m|awk '{print $4}'|sed -n '3p')
    usedPerMemory=$(awk 'BEGIN{printf "%.0f",('$usedMemory'/'$totalMemory')*100}')
    freePerMemory=$(awk 'BEGIN{printf "%.0f",('$freeMemory'/'$totalMemory')*100}')
    if [ $usedPerMemory -ge $memorySetting ]
    then
    minfo="totalMemory:$totalMemory MB,used:$usedMemory MB,free:$freeMemory MB,usedPercent:$usedPerMemory%,freePrecent:$freePerMemory%"
    echo "$(date) $minfo used memory was gt $memorySetting% !" >> /sh/log_hard_disk_check
    echo " $minfo {$webIp}!" | mail -s "{$webIp} used memory was high!" $userEmail
    fi
    
    #check cpu used rate
    cpuUsed=$(top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'|awk -F '.' '{print $1}')
    if [ $cpuUsed -gt $cpuSetting ]
    then
    echo "$(date) cpu used $cpuUsed% "
    echo "$(date) cpu used $cpuUsed%"|mail -s "$webIp cpu used $cpuUsed%" $userEmail
    fi


    原文:https://blog.csdn.net/qq_27517377/article/details/78784473

  • 相关阅读:
    DataTable中的增删改查
    如何修改SQLServer的登录验证模式为混合验证模式(转载)
    asp.net C# 技术小点
    利用JQuery动态删除Table表格的行和列
    ASP.NET利用JQuery中的Aajax实现JSON数据后台交互
    MySQL Explain 详解
    Python字符串操作
    Linux中last的用法及参数,查看登陆系统用户的信息
    fedora 16 mysql远程连接
    Linux下MySQL 5.5.21 服务器日志配置
  • 原文地址:https://www.cnblogs.com/saryli/p/9924715.html
Copyright © 2011-2022 走看看