前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python写了个日志清理的脚本

用Python写了个日志清理的脚本

作者头像
老高的技术博客
发布2022-12-27 15:52:40
3690
发布2022-12-27 15:52:40
举报

欢迎吐槽!

代码语言:javascript
复制
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import os,time,shutil
path = os.getcwd()
target_dir = []
cal = []
target_dir.append('/var/lib/mysql/log/')
target_dir.append('/newlogs/')
target_dir.append('/oldlogs/')
#初始化删除文件名
del_ext = ['frm','MYD','MYI']
#你要保留几天
days_before = 5
#初始化删除日期
for x in xrange(days_before+1,days_before+30):
    cal.append(time.strftime('%Y_%m_%d',time.localtime(time.time() - x*24*3600)))
#初始化删除文件名,使用笛卡尔积!
fl = map('.'.join, [[x,y] for x in cal for y in del_ext])

#以日期命名的文件夹
cal = []
for x in xrange(days_before+1,days_before+30):
    cal.append(time.strftime('%Y-%m-%d',time.localtime(time.time() - x*24*3600)))
fl += cal
#获取文件扩展名
def get_ext(filename):
    return filename.split('.')[-1]



for dirs in target_dir:
    #files = [i for i in box_list if(get_ext(i) in del_ext)]  #按扩展名筛选文件
    #修改当前工作目录
    i = 0
    print 'opening -> ' + dirs
    #判断文件夹存在
    if os.path.exists(dirs):
        #切换目录
        os.chdir(dirs)
        for files in fl:
            #判断文件夹或文件
            if(os.path.isfile(str(files))):
                i += 1
                try:
                    os.remove(files)
                    print files + '  deleted'
                except:
                    print 'error occurs while deleting file'
            elif(os.path.isdir(str(files))):
                i += 1
                try:
                #shutil.rmtree删除非空文件夹
                    shutil.rmtree(files)
                    print files + '  deleted'
                except:
                    print 'error occurs while deleting file'
    else:
        print 'Error on opening ' + dirs
    if i:
        print str(i) + ' files deleted'
    else:
        print 'nothing to remove'
    print 'leaving -> ' + dirs
    print '\n'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档