ukula 发表于 2018-8-9 07:45:46

Python MysqlDB 日常使用模板

  这是一份添加zabbix自动发现的脚本:
  


[*]#!/usr/bin/python
[*]#coding:utf-8
[*]
[*]import MySQLdb
[*]
[*]class zabbix:
[*]    def __init__(self):
[*]      self.dbuser = 'root'
[*]      self.dbpass = 'wisp888'
[*]      self.dbport = 3306
[*]      self.dbhost = 'localhost'
[*]
[*]    def add(self, ip):
[*]      #连接数据库:
[*]      conn = MySQLdb.connect(user=self.dbuser, host=self.dbhost, passwd=self.dbpass, port=self.dbport, db='zabbix')
[*]      cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
[*]
[*]      #判断drule表中是否已经存在此ip:
[*]      sql = '''''select * from drules where name = %s'''
[*]      ret = cursor.execute(sql,ip)
[*]      if ret:
[*]            print "%s is already exist!" % ip
[*]      else:
[*]            #获取drules表中最大的druleid,并+1,作为将要插入的记录的druleid
[*]            sql = '''''select max(druleid) as maxid from drules'''
[*]            ret = cursor.execute(sql)
[*]            druleid = cursor.fetchone()['maxid'] + 1
[*]            #print druleid
[*]
[*]            #插入drules:
[*]            sql = '''''insert into drules(druleid,name,iprange) value(%s,%s,%s) '''
[*]            ret = cursor.execute(sql,(druleid,ip,ip))
[*]            conn.commit()
[*]
[*]            #插入dchecks:
[*]            sql = '''''insert into dchecks(dcheckid,druleid,type,key_,ports) value(%s,%s,9,'system.uname',10050)'''
[*]            cursor.execute(sql,(druleid,druleid))
[*]            conn.commit()
[*]            print "%s add to zabbix success!" % ip
[*]      conn.close()
[*]
[*]    def get_ip(self):
[*]      conn = MySQLdb.connect(host=self.dbhost, user=self.dbuser, passwd=self.dbpass, port=self.dbport, db='ips')
[*]      cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
[*]      sql = '''''select ip from tb_system where id != -1 group by sys_name'''
[*]      sum = cursor.execute(sql)
[*]      list = cursor.fetchall()
[*]      returnlist
[*]
[*]if __name__ == "__main__":
[*]    myzabbix = zabbix()
[*]    for i in myzabbix.get_ip():
[*]      ip = i['ip']
[*]      myzabbix.add(ip)
  
页: [1]
查看完整版本: Python MysqlDB 日常使用模板