使用Python脚本处理应用每天产生的日志文件

分享一个工作中使用的脚本

服务器每天都会产生大量的日志文件,这些日志文件慢慢的会占满服务器的空间,所以需要定时去清理一下,下面是用Python写的一个清理昨天日志的脚本

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import os

import datetime

import re

# 定义要扫描的文件路径

logs = [

# '/usr/Application/tomcat7/logs',

# '/usr/Application/tomcat8/logs',

'/tmp'

]

# 获取昨天日期,可自定义格式

# print(yesterday)

# 清理日志的主函数

def cleanLog(path):

files = os.listdir(path)

for fileDir in files:

# print(fileDir, fileSize)

yesterdayFile = re.search(yesterday, fileDir)

if yesterdayFile:

os.system('rm -rf ' + path + '/' + fileDir)

#

if __name__ == "__main__":

for path in logs:

cleanLog(path)

主要的几个命令是:

获取昨天日期的格式化后的字符串

这个需要引入import datetime

使用正则表达式匹配对应的文件

re.search(yesterday, fileDir)

这个search方法会查找字符串里面匹配的字符串,查找不到会返回一个None对象

执行删除命令

os.system('rm -rf ' + path + '/' + fileDir)

这里是直接执行的rm命令,其实也可以换成gzip命令。

os.system('gzip ' + path + '/' + fileDir)

这样就可以把日志文件压缩,从而大大节省服务器的空间。

最后把这个放到Linux的crontab定时任务里,每天凌晨执行即可。

05 00 * * * /usr/bin/python /usr/script/cleanLogsFile.py

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181104G12B5H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券