加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 实现检查内存报警

发布时间:2020-12-15 16:59:08 所属栏目:安全 来源:网络整理
导读:使用shell实现检查内存大小,如果在设置的值内就显示,否则就发邮件报警 先配置发邮件 vi /etc/mail.rc 添加如下信息 #ForLinuxandBSD,thisshouldbeset.setbsdcompatsetfrom=alvin@163.comsmtp=smtp.163.comsetsmtp-auth-user=alvinsmtp-auth-password=12345

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


  1. 先配置发邮件

    vi /etc/mail.rc

    添加如下信息

  2. #ForLinuxandBSD,thisshouldbeset.
    setbsdcompat
    
    setfrom=alvin@163.comsmtp=smtp.163.com
    setsmtp-auth-user=alvinsmtp-auth-password=123456smtp-auth=login

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

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

[root@mysqlscript]#catcheck_memory.sh

#!/bin/bash
FreeMem=`free-m|awk'NR==3{print$NF}'`
CHARS="CurrentMemoryis$FreeMem."
CHARS1="MemoryAlert"
if[$FreeMem-lt1800]
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读