使用shell实现检查内存大小,如果在设置的值内就显示,否则就发邮件报警
先配置发邮件
vi /etc/mail.rc
添加如下信息
#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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。