2 czly czly 于 2016.02.12 14:19 提问

请问awk和python中如何显示当天产生的日志?

#coding=utf-8
import os
import json
import httplib
import codecs
LogFile='/etc/httpd/logs/access_log'
#日志
logMess='/tmp/acc.log'
if os.path.isfile(logMess):
os.system('cp /dev/null %s'% logMess)
file=codecs.open(logMess,'w+',encoding='utf-8')
def cmd(cmd):
return os.popen(cmd).readlines()
'''
def getIp(ip):
return json.loads(os.popen("/usr/bin/curl http://ip.taobao.com/service/getIpInfo.php?ip=%s" % ip).readline())['data']
'''
conn = httplib.HTTPConnection('ip.taobao.com')
def getIpCountry(ip):
conn.request('GET','/service/getIpInfo.php?ip=%s' % ip)
r1=conn.getresponse()
if r1.status == 200:
#return json.loads(r1.read())['data']
return json.loads(r1.read().decode())['data']
else:
return "Error"
#将access.log文件进行分析,并转为python数组
file.write(u"字段说明:ip 访问次数据 ip国家 城市的 isp号 省份 所在地区\n")
ipDb=[]
for i in cmd('''/usr/bin/awk '{print $1}' %s |sort |uniq -c''' % LogFile):
ip = i.strip().split(' ')
ipDb.append(ip)
#通过taobao 提供接口分析ip地址来源
for i in ipDb:
_tmpD=getIpCountry(i[1])
#格式说明:ip 访问次数据 ip国家 城市的 isp号 省份 所在地区
if _tmpD['city'] == unicode('唐山市', "utf-8"):
print i
out="%s%s%s%s%s%s%s"%(i[1].ljust(20),i[0].ljust(10),_tmpD['country'].ljust(20),_tmpD['city'].ljust(16),_tmpD['isp_id'].ljust(16),_tmpD['region'].ljust(16),_tmpD['area'].ljust(16))
print (out)
file.write("%s\n"%out)

conn.close()
file.close()

我想显示当天的日志,怎么做?

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.02.12 16:09

可以获取当天日期,然后比较时间。以0时0分0秒到23时59分59秒

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在Linux系统,无处不是文件,awk用来查日志简直神器
查看日志文件里“Sysj”的接口访问次数,排行前十 awk '{print $5}' 1499606753-17_07_09.log | grep "Sysj" | sort | uniq -c | sort -nr |head -n 10 查看日志文件里,IP前十 awk '{print $5}' 1499606753-17_07_09.log | grep -E "([0-
转:awk和gnuplot对ns模拟之后.tr文件的处理实验
<br />原文地址http://blog.csdn.net/bravemanly/archive/2007/03/16/1531163.aspx<br /> <br /><br />实验内容:awk和gnuplot对ns模拟之后.tr文件的处理实验<br />1、实验用网络拓扑图为<br /><br /><br />这个网络的环境包含了四个网络节点(n0,n1,n2,n3)如下图所示。网络节点n0到节点n2之间,和节点n1到节点n2之间的网络频宽(bandwidth)是2Mbps,延迟時间(propaga
oracle 统计redo统计当天日志生成和最近日期日志生成统计
某日全天的日志生成统计: select trunc(completion_time),sum(Mb)/1024 day_gb  from (select name,completion_time,blocks*block_size/1024/1024 Mb from v$archived_log where completion_time between trunc(sysdate)-2 a
怎么保存journal 日志呢
1.mkdir -m 2755 /var/log/journal 2.chown root:systemd-journal /var/log/journal 3.systemctl restart systemd-journald.service
查询当前文件夹中文件数量
1. 仅统计文件数量 dir /b /a-d | find /v /c "&#@"  2. 统计文件和目录总数量 dir /b | find /v /c "&#@"
软件运行过程中日志文件的书写
Imports System.IO Public Class WriteLog '创建日志文件 Public Shared Sub CreateLogFile() Try If Not File.Exists(AppDomain.CurrentDomain.BaseDirectory & "run.log") Then
awk nginx日志分析接口响应时间
awk命令进行nginx日志文件响应时间的分析,分析指写格式的nginx日志文件,打印响应时间并且去除引号,查找响应时间大于1秒的url地址等。 awk命令分析nginx响应时间,线上环境nginx日志格式带上了引号,在用awk分析日志时注意下细节。 一、nginx日志格式   log_format main ‘$remote_add
归档日志的切换频率
<br />SELECT   TRUNC (first_time) "Date", TO_CHAR (first_time, 'Dy') "Day",<br />         COUNT (1) "Total",<br />         SUM (DECODE (TO_CHAR (first_time, 'hh24'), '00', 1, 0)) "h0",<br />         SUM (DECODE (TO_CHAR (first_time, 'hh24'), '01', 1, 0)) "
shell 脚本完成对日志文件的提取之awk 学习
前言 学习awk/sed/zmore/zgrep、istat 正文 1.awk  awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理(awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。)。 使用方法 awk '{pattern +
产生5个随机数写入文件并从文件读到屏幕上
import java.io.*; import java.util.Arrays; public class suijishu{ public static void main(String[] args) { try { //产生5个随机整数按从小到大的顺序写入文件 BufferedWriter out = new Bu...