使用linux shell+sendmail+139邮箱实现定时短信报警

最近想做个linux的系统监控,比如当磁盘空间到达一定时,进行短信报警,但又
暂时不想买设备,又不是SP,之前用过飞信API,但发现飞信老改API,麻烦,后来发现
139邮箱只要注册了,就可以实现只要往139邮箱发的,都可以实现短信提醒的功能!
下面简单小结下。

1 先写个监视磁盘空间的脚本,下面只是示例而已
#! /bin/bash
shopt -s -o nounset

partitions="/home /tmp"

From='root@localhost.localdomain'

To='你的手机号码@139.com'
Subject='分区使用通知'
Msgbody=

//设置为5%就报警了,这里设置小点,看到效果
declare -i AlertPcent=5

declare -i TOTAL TOTALavl

get_usedTotalPcent() {
local tmp pcent
declare -i pcent
tmp=$(df -B 1024K | grep ${p}$ | awk '{print $5}')
pcent=${tmp%\%*}
return $pcent
}


# 秎盚硄
mailto() {
echo "$Msgbody" | mail -s "$Subject" $To
}


p=
pcent=
if [ -n "$partitions" ]; then
for p in $partitions
do
get_usedTotalPcent $p
pcent=$?

# 琌笷牡ボκだゑ
if [ $pcent -ge $AlertPcent ]; then
get_usedTotalPcent $p
Msgbody=$Msgbody"分区$p目前使用量 $TOTAL MB,已达 $pcent%,剩余空间 $TOTALavl MB."
fi
done
if [ -n "$Msgbody" ]; then
Msgbody="hello "$Msgbody
mailto
fi
fi


2 如果你喜欢配置sendmail,可以配置,但我新手,甚至连sendmail也不配置了,直接
用root@localhost.domain去发了,下文会继续讲解。

3 把脚本放到定时计划任务里

4 在你的139邮箱(mail.139.com,任何手机都可以申请)中,设置好手机里的邮件到达通知,并记得设置好白名单,比如我这里设置为root@localhost.domain了,这样才不会当垃圾邮件,还要设置后每天多少点是允许收到邮件达到短信提醒的,设置好后,
那就一起OK了

5 我试过,在家里的ADSL,用虚拟机,基本都没啥延迟了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值