博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell编程(告警系统邮件引擎、运行告警系统)
阅读量:6959 次
发布时间:2019-06-27

本文共 2011 字,大约阅读时间需要 6 分钟。

  hot3.png

告警系统邮件引擎

1.如果要使用邮件引擎功能,需要调用mail.py文件,放到/usr/local/sbin/mon/mail/目录下即可,具体内容如下:

#!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartfrom  subprocess import *def sendqqmail(username,password,mailfrom,mailto,subject,content):    gserver = 'smtp.163.com' #定义发件人服务器,网易邮箱smtp.163.com,腾讯邮箱smtp.qq.com    gport = 25    try:        # msg = MIMEText(unicode(content).encode('utf-8')) //如果发送的邮件有乱码,可以尝试把这行改成如下:        msg = MIMEText(content,'plan','utf-8')         msg['from'] = mailfrom        msg['to'] = mailto        msg['Reply-To'] = mailfrom        msg['Subject'] = subject        smtp = smtplib.SMTP(gserver, gport)        smtp.set_debuglevel(0)        smtp.ehlo()        smtp.login(username,password)        smtp.sendmail(mailfrom, mailto, msg.as_string())        smtp.close()    except Exception,err:        print "Send mail failed. Error: %s" % errdef main():    to=sys.argv[1]    subject=sys.argv[2]    content=sys.argv[3]##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)    sendqqmail('你的邮箱@163.com','客户端授权码','你的邮箱@163.com',to,subject,content)if __name__ == "__main__":    main()        #####脚本使用说明#######1. 首先定义好脚本中的邮箱账号和密码#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

2.创建核心文件mail.sh

#!/bin/bashlog=$1t_s=`date +%s`t_s2=`date -d "2 hours ago" +%s`if [ ! -f /tmp/$log ]then    echo $t_s2 > /tmp/$logfit_s2=`tail -1 /tmp/$log|awk '{print $1}'`echo $t_s>>/tmp/$logv=$[$t_s-$t_s2]echo $vif [ $v -gt 3600 ]then    ./mail.py  $1  $2  $3    echo "0" > /tmp/$log.txtelse    if [ ! -f /tmp/$log.txt ]    then        echo "0" > /tmp/$log.txt    fi    nu=`cat /tmp/$log.txt`    nu2=$[$nu+1]    echo $nu2>/tmp/$log.txt    if [ $nu2 -gt 10 ]    then         ./mail.py  $1 "trouble continue 10 min $2" "$3"         echo "0" > /tmp/$log.txt    fifi

运行告警系统

crontab -e* * * * * cd /usr/local/sbin/mon/bin;bash main.sh

转载于:https://my.oschina.net/yolks/blog/2104419

你可能感兴趣的文章
VS2010中的sln,suo分别是什么文件
查看>>
Ubuntu gcc错误:对'log'等函数未定义的引用
查看>>
C++之Lambda研究
查看>>
Python获得一个url最后一个/后的字符串
查看>>
if 嵌套题
查看>>
关于面对对象和正则表达式的处理
查看>>
解决粘包问题-简单版
查看>>
UVA 10635 Prince and Princess LCS转LIS
查看>>
生产消费者队列(TaskCompletionSource)的应用
查看>>
oracle之 获取建表ddl语句
查看>>
大型网站架构系列:分布式消息队列(一)
查看>>
有效地解决低阶矩阵完全问题
查看>>
ADB not responding. You can wait more,or kill"abd.exe" process manually and click 'Restart'
查看>>
四种有能力取代Cookies的客户端Web存储方案
查看>>
在idea中为类和方法自动生成注释
查看>>
流相关的操作方法封装
查看>>
Ant编译打包以及批量打包
查看>>
CCF NOI1061 Wifi密码
查看>>
Linux基础系统权限
查看>>
容器技术
查看>>