首页 > 代码库 > shell 实现检查内存报警

shell 实现检查内存报警

使用shell 实现检查内存大小,如果在设置的值内就显示,否则就发邮件报警


  1. 先配置发邮件

    vi /etc/mail.rc

    添加如下信息

  2. # For Linux and BSD, this should be set.
    set bsdcompat
    
    set from=alvin@163.com smtp=smtp.163.com
    set smtp-auth-user=alvin smtp-auth-password=123456 smtp-auth=login

#注意:alvin@163.com 是你的邮箱账号,alvin 是你的邮箱用户名,123456 是你们邮箱密码

以下是内存超标邮箱报警脚本:

[root@mysql script]# cat check_memory.sh  

#!/bin/bash
FreeMem=`free -m|awk ‘NR==3 {print $NF}‘`
CHARS="Current Memory is $FreeMem."
CHARS1="Memory Alert"
if [ $FreeMem -lt 1800 ]
    then
        echo $CHARS >/tmp/messages.txt
        mail -s "`date +%F-%T`$CHARS1" alvin@163.com </tmp/messages.txt
else
    echo $CHARS
fi

 为了能报警发邮件,我这里设置的比较大(1800)实际生产环境设置不用设置这么大。

此脚本为了演示,可以把echo $CHARS 删除,加入定时任务,每3分钟执行一次。

*/3 * * * * /bin/sh /server/script/check_memory.sh &>/dev/null 

本文出自 “知识改变命运” 博客,请务必保留此出处http://ahtornado.blog.51cto.com/4826737/1930320

shell 实现检查内存报警