#!/usr/local/bin/python3.5

###Destription: 实时读取log信息

###Author: Danny Deng

###Datetime: 2016-11-17

import re,time,subprocess,os,linecache

###############定义log文件

file_name = "/var/log/mongodb/mongodb.log"

file_number = "/usr/local/zabbix_agent/number.txt"

j = int(0)

seek = int(0)

###############判断文件是否存在---判断number是否存在---判断number size 与 filesize

###############定义一个函数,遍历文件

def readline():

###############if判断 seek是否大于0,大于则赋值,否则初始为0

while True:

###############定义文件,根据seek值进行每行读取,每次tell赋值给seek

with open(file_name,'r') as f:

global seek

#seek = seek

f.seek(seek)

data = f.readline()

if data:

seek = f.tell()

yield data

else:

###############Python变量转换为shell变量

global file_number

os.environ['seek'] = str(seek)

os.environ['file_number'] = str(file_number)

###############记录上一次执行后的seek值,下次执行直接读取

os.system('echo $seek > $file_number')

os.system('chown zabbix.zabbix $file_number')

return

###############定义函数,find特定字符串从每行数据中

def func_for():

j = int(0)

for i in readline():

f_find = re.findall(r"error", i,flags=re.IGNORECASE)

if "error" in f_find:

j += 1

###############没有输出0,有值输出出现error匹配到的次数值

try:

print(j)

except NameError:

print(int("0"))

###############判断文件是否存在

if os.path.isfile(file_name):

###############判断存储seek的文件是否存在

if os.path.isfile(file_number):

###############存在时,读取其seek值

seek_number = int(linecache.getline(file_number, 1))

###############如果有值判断seek值与现在文件大小值,大于说明log文件已重新生成,重置seek值为0

if os.path.getsize(file_name) >= seek_number and seek_number > 0:

seek = seek_number

func_for()

else:

seek = int(0)

func_for()

###############如果存储seek值的文件不存在,新建并出示seek值为0

else:

os.environ['file_number'] = str(file_number)

os.system('echo 0 > $file_number')

os.system('chown zabbix.zabbix $file_number')

func_for()

###############文件不存在 报错

else:

print("Error")

quit()

python实时处理_python实时处理log文件脚本相关推荐

  1. python实时处理log文件脚本

    这个Python脚本是用来对实时文件的内容监控,比如 Error 或者 time out 字段都可以进行自定义:算是我的第一个真正的Python脚本,自己感觉还是比较臃肿,不过打算放到blog上记录一 ...

  2. python遍历文件_python遍历目录文件脚本的示例

    例子 自己写的一个Python遍历文件脚本,对查到的文件进行特定的处理.没啥技术含量,但是也记录一下吧. 代码如下 复制代码 #!/usr/bin/python # -*- coding: utf-8 ...

  3. 利用python读取tomcat中log文件提取出错误日志生成新的文件

    人生苦短,我用python 废话不多说,直接上代码! #!/usr/bin/env python # coding=utf-8 import redef find_error_log(log_name ...

  4. python读取.txt或.log文件

    # -*- coding:gb2312 -*-import json#读取txt文件内容,与log文件同def read_txt(): filename = 'XXX.txt' # txt文件和当前脚 ...

  5. python调用git生成log文件_python解析git log后生成页面显示git更新日志信息

    使用git log可以查到git上项目的更新日志. 如下两个git项目,我想把git的日志信息解析成一个便于在浏览器上查看的页面. https://github.com/gityf/lua https ...

  6. python读取log文件生成图形表_python提取log文件内容并画出图表

    之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...

  7. excel文件成绩处理python代码_Python处理Excel文件实例代码

    因为工作需求,需要审核一部分query内容是否有效,query储存在Excel中,文本内容为页面的Title,而页面的URL以HyperLink的格式关联到每个Cell. 于是本能的想到用Python ...

  8. python 加锁_python之给文件加锁(fcntl模块)

    对该文件加密:fcntl.flock(f,fcntl.LOCK_EX) 这样就对文件test加锁了,如果有其他进程对test文件加锁,则不能成功,会被阻塞,但不会退出程序. 解锁:fcntl.floc ...

  9. python公式_Python读取excel文件中带公式的值的实现

    在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...

最新文章

  1. mysql安装教程博音网_RTSP视频平台EasyNVR使用mysql数据源启动报错unknow drivermysql优化...
  2. 我是一个机箱 《转载》
  3. 解决Spring boot中读取属性配置文件出现中文乱码的问题
  4. html左侧td字体居右,如何在td中控制字体右对齐 且加粗_html/css_WEB-ITnose
  5. SAP Spartacus develop branch 的服务器端渲染启动方式
  6. Neo4j介绍与使用
  7. rpm包安装失败的解决办法
  8. 【MATLAB】基本绘图 ( 绘图基本步骤 | plot 函数 | 多曲线绘制 | hold on / off )
  9. adapter java_Java 实现适配器(Adapter)模式
  10. 万特电能表接线仿真系统 软件_电工技能——分享一款超实用的电工仿真教学接线Flash动画软件...
  11. HTML动画能在手机播放吗,如何使动画在手机中屏幕适配
  12. Oracle进阶(六)包(Package)和包体
  13. 大冬与小冉的故事 !!!-----阿冬专栏
  14. Matlab中imag函数用法
  15. 《PCL从入门到精通学习》第六章点云滤波
  16. 推荐一个好用的OKR工具
  17. 【C++】Clang-Format:代码自动格式化(看这一篇就够了)
  18. 纯小白初识函数—主函数调用子函数:
  19. 数据结构栈之中缀表达式求值(实现计算器综合计算)
  20. 爱思服务器显示磁盘空间不足,苹果磁盘空间不足怎么处理?

热门文章

  1. Win10 太火,骗子也来打劫了
  2. Linux之make的用法讲解
  3. perl判断CGI程序或终端程序的方法
  4. 手动配置linux(centos)的IP地址
  5. 2006鄂土整项目精神
  6. 牛逼!大神用漫画带你了解 Linux 内核到底长啥样
  7. 如何构建一个好的电商搜索引擎?
  8. 2w字 + 40张图带你参透并发编程!
  9. 亿级流量压力来袭,你的网站会被击垮吗?(下篇)
  10. Java内存模型终于能讲明白啦,建议收藏!