Heim >Datenbank >MySQL-Tutorial >python mysql 短信告警

python mysql 短信告警

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

最近发现用联通邮箱收邮件然后下发短信有点不靠谱,正好公司有短信网关,所以就写了一个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里面的短信队列表几个,短信网关程序会自动扫描队列。这个脚本只需要将内容插入到队列即可。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn