专栏首页python3Python读取NGINX日志将其存入数

Python读取NGINX日志将其存入数

日志数据:

#/usr/bin/env python
#-*-coding:UTF-8 -*-
from  datetime  import  datetime

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")  as  ngfile:
   for line in ngfile:
      _nodes = line.split()
      IP= _nodes[0]
      Time= _nodes[3][1:-1].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[5][1:]
      Source = _nodes[6]
      Protocol = _nodes[7][:-1]
      Status = _nodes[8]
      print(IP,Time,Methods,Source,Protocol,Status)
      cur.execute(sql,(IP,Time,Methods,Source,Protocol,Status))
      connect.commit()
   connect.close()

SQL语句

create  database   if  not exists  nginxlog     default  charset  utf8;
create table nginxlog (
id int(10)  primary key auto_increment,
ip  varchar(30) not null  default '',
time  datetime,
methods  varchar(10) not null  default '',
source  varchar(200) not null  default '',
protocol varchar(10) not null  default '',
status varchar(10) not null  default ''
)

alter table nginxlog modify column source varchar(400);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python中使用if not x 语句

    在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False。除此之外的其它对象都会被转化成True。

    py3study
  • 概率算法_二项分布和泊松分布

    create_rand_list() #创建一个含有指定数量元素的list sum_fun() #累加 len_fun() #统计个数 multiply_fun...

    py3study
  • python3 文本变图片

    py3study
  • 从源码看DL4J中Native BLAS的加载,以及配置

    最近在用DeepLearning4J(DL4J)尝试语音识别的深度学习,git DL4J的代码,用IntelliJ IDEA打开,配置好相关依赖后,运行包org...

    望天
  • python 守护进程(daemon)

    通常,我们执行服务端程序的时候都会通过终端连接到服务器,成功连接后会加载shell环境,终端盒shell都是进程,shell进程是终端进程的子进程,通过ps命令...

    py3study
  • 腾讯来电下一步要做什么? 阻击阿里钉钉?

    今天朋友推送给我一个下载来电免费通话软件,这是继腾讯发布微信电话本之后,腾讯在免费通话市场的又一杀手锏,可能很多人会疑惑,腾讯到底搞什么鬼?腾讯来电最终面对客...

    人称T客
  • CVE-2020-15778 Openssh-SCP 命令注入漏洞复现报告

    漏洞描述:OpenSSH 8.3p1及之前版本中的scp的scp.c文件存在操作系统命令注入漏洞。该漏洞源于外部输入数据构造操作系统可执行命令过程中,网络系统或...

    字节脉搏实验室
  • Android移动开发案例教程-第二章 Android开发起步_V0.2

    iOSDevLog
  • Java中的定时任务

    现代的应用程序早已不是以前的那些由简单的增删改查拼凑而成的程序了,高复杂性早已是标配,而任务的定时调度与执行也是对程序的基本要求了。

    Single
  • AraBERT:基于变压器的阿拉伯语理解模型(CS.CL)

    与英语相比,阿拉伯语是一种形态丰富且复杂的语言,具有相对较少的资源和较少探索的语法。鉴于这些限制,事实证明,诸如情感分析(SA),命名实体识别(NER)和问答(...

    蔡小雪7100294

扫码关注云+社区

领取腾讯云代金券