线上一个简单检测Ping状态的邮件报警脚本

IT
IT
IT
406
文章
1
评论
2020年5月15日13:44:20 评论 6,815 1575字阅读5分15秒

脚本检查存活性

安装sendmail来发邮件

 

[root@ansible ~]# yum -y install sendmail

启动加入开机启动

[root@ansible ~]# service sendmail start
Redirecting to /bin/systemctl start sendmail.service

[root@ansible ~]# chkconfig sendmail on
注意:正在将请求转发到“systemctl enable sendmail.service”。

安装邮件客户端

[root@ansible ~]# yum -y install mutt

添加发件人信息

[root@ansible ~]# vim /etc/Muttrc

473 set charset="utf-8"  #设置发邮件编码

961 set encode_from=yes 

3303 set rfc2047_parameters=yes #解决附件乱码问题

3150 set realname="机器报警" #发件人别名

4555 set use_from=yes  #指定是否显示别名

1183 set from="zhen.guo@...........com" #发送人地址

Ping主机状态脚本

[root@ansible ~]# cat ping.sh 
#!/bin/bash
#
DATE=`date +%F_%H:%M`
LOG=/root/ping.log   #日志文件
IP=/root/ip.txt            #ip列表
CLEAN=`cat $LOG | wc -l`
for i in $(cat $IP);
do
 ping -c 2 $i &>/dev/null
 if [ $? -eq 0 ];then
 echo "$DATE $i Host ping is success." >> $LOG
 else
 echo -e "Date : $DATE\nHost : $i\nProblem : Ping is failed, Please check ! ! !" | 
mutt -s "Ping" xxx@163.com 
 fi
done
#如果日志文件超30条,则清空
 if [ $CLEAN -ge 30 ];then 
 echo "" > $LOG
 fi

创建日志和添加地址

[root@ansible ~]# touch ping.log
[root@ansible ~]# cat ip.txt 
172.17.1.010
172.17.1.011
172.17.1.012
172.17.1.013
172.17.1.030
172.17.1.033
172.17.1.034
172.17.1.035
172.17.1.036
172.17.1.037
172.17.1.080
172.17.1.081
172.17.1.082
172.17.1.083
172.17.1.084

修改脚本里面的通知内容和收件人

[root@ansible ~]# cat ping.sh 
#!/bin/bash
#
DATE=`date +%F_%H:%M`
LOG=/root/ping.log
IP=/root/ip.txt
CLEAN=`cat $LOG | wc -l`
for i in $(cat $IP);
do
 ping -c 2 $i &>/dev/null
 if [ $? -eq 0 ];then
 echo "$DATE $i Host ping is success." >> $LOG
 else
 echo -e "Date : $DATE\nHost : $i\nProblem : 以下虚拟机有异常,请尽快处理。" | 
mutt -s "Ping" zhen.guo@******.com long.li@******com yunlong.liu@******.com
 fi
done
#如果日志文件超30条,则清空
 if [ $CLEAN -ge 30 ];then 
 echo "" > $LOG
 fi

添加任务计划

[root@ansible ~]# crontab -e

*/5 * * * * /bin/bash /root/ping.sh

线上一个简单检测Ping状态的邮件报警脚本

 

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年5月15日13:44:20
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Teambition 网盘与阿里云盘数据合并说明 CentOS

Teambition 网盘与阿里云盘数据合并说明

前言 Teambition 团队是阿里巴巴的一个创新产品团队,除了你熟悉的 Teambition App,「阿里云盘」也是我们的作品,它们都属于阿里云正在打造的新一代「云服务」。 过去几个月,我们投入...
CentOS8安装Jenkins CentOS

CentOS8安装Jenkins

简述 Jenkins 是最流行的,开源的,基于 Java 的自动化服务器,它允许你很容易的设置一个持续集成和持续发布的管道。 持续集成 (CI)是一个 DevOps 实践。当团队成员正常提交代码到版本...

您必须才能发表评论!