Python实现SYSLOG服务器与MYSQL数据库写入源码,pythonsyslog,Python实现SYSL
Python实现SYSLOG服务器与MYSQL数据库写入源码,pythonsyslog,Python实现SYSL
Python实现SYSLOG服务器与MYSQL数据库写入源码是初学python的同学练手代码,拙劣之处还请见谅。
文章中的python源码是依赖mysqldb模块,并适用于windows平台的python源码。
MySQLdb:Python MySQLPython标准的数据库接口的Python DB-API,包括Python操作MySQL,绝大多数Python数据库接口坚持这个标准。
import os,socket,sys,time,stringimport MySQLdbbufsize=1500port=514syslog_serverty={ 0:"emergency", 1:"alert", 2:"critical", 3:"error", 4:"warning", 5:"notice", 6:"info", 7:"debug" }syslog_facility={ 0:"kernel", 1:"user", 2:"mail", 3:"daemaon", 4:"auth", 5:"syslog", 6:"lpr", 7:"news", 8:"uucp", 9:"cron", 10:"authpriv", 11:"ftp", 12:"ntp", 13:"security", 14:"console", 15:"cron", 16:"local 0", 17:"local 1", 18:"local 2", 19:"local 3", 20:"local 4", 21:"local 5", 22:"local 6", 23:"local 7" }try: sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.bind(("0.0.0.0",port))except: print("error bind") sys.exit(1)sql_em="insert into emergency values(%s,%s,%s,%s,%s,%s)"sql_al="insert into alert values(%s,%s,%s,%s,%s,%s)"sql_cr="insert into critical values(%s,%s,%s,%s,%s,%s)"sql_er="insert into error values(%s,%s,%s,%s,%s,%s)"sql_wa="insert into warning values(%s,%s,%s,%s,%s,%s)"conn=MySQLdb.connect(host="127.0.0.1",db="syslog",port=18888,user="root",passwd="cinda")curs=conn.cursor()#f=file("syslog.txt","w")print ("----------------syslog is start----------------\n")#www.iplaypy.comtry: while 1: try: data,addr=sock.recvfrom(bufsize) #print data,addr syslog=str(data) n=syslog.find('>') serverty=string.atoi(syslog[1:n])&0x0007 facility=(string.atoi(syslog[1:n])&0x03f8)>>3 syslog_msg=syslog[26:] dev_name=syslog_msg[:syslog_msg.find(' ')] dev_msg=syslog_msg[syslog_msg.find(' '):] param=(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()),dev_name,addr[0], syslog_facility[facility],syslog_serverty[serverty],dev_msg) if serverty==0: curs.execute(sql_em,param) print syslog_msg elif serverty==1: curs.execute(sql_al,param) print syslog_msg elif serverty==2: curs.execute(sql_cr,param) print syslog_msg elif serverty==3: curs.execute(sql_er,param) print syslog_msg elif serverty==4: curs.execute(sql_wa,param) print syslog_msg conn.commit() #print dev_msg,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #print syslog_serverty[serverty],syslog_facility[facility],syslog[26:] #f.writelines(syslog_serverty[serverty]+" "+syslog_facility[facility]+" "+syslog[26:]+'\n') except socket.error: passexcept KeyboardInterrupt: curs.close() conn.close() print ("------------------syslogd stop-------------\n") print "good bye" sys.exit()#f.close
编橙之家文章,
相关内容
- python方法判断IP的合法性源码分享,python合法性,用pyt
- Python代码音乐mp3下载器源码分享,python下载器,用pytho
- python方法实现磁盘剩余空间查询操作,python磁盘,想知道
- python转换工具之汉语拼音与国际音标的实现,python转换
- Python方法完成自动合并文本文件操作,python文本文件
- Python math方法算24点代码详解,pythonmath,计算24点的方法
- 如何让Cookie.py模块用冒号做key,cookie.py冒号,python的Co
- Python制作 百度贴吧小爬虫.V0.1,python.v0.1,Python制作 百度
- 常见又实用的Python字符串操作小技巧,python字符串小技
- 按文件大小排序的python方法实现,文件大小排序python
评论关闭