Home >Database >Mysql Tutorial >python mysql 短信告警

python mysql 短信告警

WBOY
WBOYOriginal
2016-06-07 16:38:491208browse

最近发现用联通邮箱收邮件然后下发短信有点不靠谱,正好公司有短信网关,所以就写了一个python脚本,nagios调用脚本发送短信。 #!/usr/bin/env python#-*- coding: UTF-8 -*-'''author:NetsedCreated on 2013-8-26'''?import MySQLdbimport sys?PhoneNumber=

最近发现用联通邮箱收邮件然后下发短信有点不靠谱,正好公司有短信网关,所以就写了一个python脚本,nagios调用脚本发送短信。

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
'''
author:Netsed
Created on 2013-8-26
'''
?
import MySQLdb
import sys
?
PhoneNumber=('13666666666',)
Message=sys.argv[1]
?
class Smsgate:
    def __init__(self,host="1.1.1.1",user="test",password="test",port=3306,charset="utf8",db="smsgate_cmpp"):
        self.host=host
        self.user=user
        self.password=password
        self.port=port
        self.charset=charset
        self.db=db
        try:
            self.conn=MySQLdb.connect(host=self.host,user=self.user,passwd=self.password,port=self.port,db=self.db)
            self.conn.set_character_set(self.charset)
            self.cur=self.conn.cursor()
        except MySQLdb.Error as e:
            print("Mysql Error %d: %s" % (e.args[0], e.args[1]))
?
    def sms_insert(self,usernumber,messagecontent):
        sql="INSERT INTO `send_queue` (`id`, `spnumber`, `usernumber`, `serviceid`, `messagecoding`, \
                    `messagecontent`, `reserve`, `createtime`, `sendtime`, `fromserver`, `level`) VALUES \
                    (NULL, '11111', '%s', 'FREE', '15', '%s', '', now(), now(), \
                    'YANYAN', '4')" % (usernumber,messagecontent)
        try:
            self.cur.execute(sql)
            self.conn.commit()
        except:
            self.conn.rollback()
    def close(self):
        self.cur.close()
        self.conn.close()
?
if __name__ == '__main__':
    send = Smsgate()
    for i in PhoneNumber:
        send.sms_insert(i,Message)
    send.close()

简单说明一下,公司的短信网关使用起来比较简单,只要按照固定格式插入到mysql里面的短信队列表几个,短信网关程序会自动扫描队列。这个脚本只需要将内容插入到队列即可。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn