写一个脚本,当内存用量达到80%的时候触发邮件报警。

写一个脚本,当内存用量达到80%的时候触发邮件报警。
#!/bin/bash

# 收件人
contact='123456@qq.com'
# 告警邮件发送标志,已发送1,未发送0
mail_warning=0
# 告警邮件主题及内容
mailsubject="$(hostname) Warning:Memory over 80%"
mailbody="$(date +'%F %T'): $mailsubject"
# 恢复邮件主题及内容
mailsubject1="$(hostname) Info:Memory recovers to below 80%"
mailbody1="$(date +'%F %T'): $mailsubject1"

while true
do
    # 计算内存用量
	mem_used=`free -m | awk '/Mem/{print int($3*100/$2)}'`
    # 若内存用量大于80%且未发送过告警邮件,则发送告警邮件,告警邮件标记为已发送
	[ "$mem_used" -ge 80 ] && [ "$mail_warning" -eq 0 ] && \
	echo $mailbody | mail -s $mailsubject $contact && mail_warning=1
    # 若内存用量恢复至80%以下且已发送过告警邮件,则发送恢复邮件,告警邮件标记为未发送
	[ "$mem_used" -lt 80 ] && [ "$mail_warning" -eq 1 ] && \
	echo $mailbody1 | mail -s $mailsubject1 $contact && mail_warning=0
	sleep 10
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值