分享一个工作中使用的脚本
服务器每天都会产生大量的日志文件,这些日志文件慢慢的会占满服务器的空间,所以需要定时去清理一下,下面是用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
领取专属 10元无门槛券
私享最新 技术干货