sunyke 发表于 2018-8-10 07:50:59

Python读取NGINX日志将其存入数据库

#/usr/bin/env python  
#-*-coding:UTF-8 -*-
  
fromdatetimeimportdatetime
  

  
stat_days = []
  
import   pymysql
  
#print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) #2018-05-25 22:23:44
  
#print(datetime.now().strftime("%d/%b-%Y %H:%M:%S")) #25/May-2018 22:23:44格式
  
#print(datetime.strptime('17/Jun/2017:12:11:16',"%d/%b/%Y:%H:%M:%S")) #格式转换
  
connect=pymysql.connect(
  
   host='127.0.0.1',
  
   port=3306,
  
   user='root',
  
   password='',
  
   database='nginxlog',
  
   charset="utf8"
  

  
)
  
cur = connect.cursor()
  
sql= "insert into nginxlog(ip,time,methods,source,protocol,status) values(%s,%s,%s,%s,%s,%s)"
  

  
with open("portal_ssl.access.log","r")asngfile:
  
   for line in ngfile:
  
      _nodes = line.split()
  
      IP= _nodes
  
      Time= _nodes.replace(":"," ",1) #将时间转换为17/Jun/2017 12:43:4格式
  
      Time = datetime.strptime(Time,"%d/%b/%Y %H:%M:%S")#将时间格式化为2017-06-17 12:43:04
  
      Methods = _nodes
  
      Source = _nodes
  
      Protocol = _nodes[:-1]
  
      Status = _nodes
  
      print(IP,Time,Methods,Source,Protocol,Status)
  
      cur.execute(sql,(IP,Time,Methods,Source,Protocol,Status))
  
      connect.commit()
  
   connect.close()
页: [1]
查看完整版本: Python读取NGINX日志将其存入数据库