python 删除/app/*/logs/*/*.logs指定多少天的文件

# encoding: utf-8
import sys
import getopt
import os
import glob
import time
import datetime

def removefile(keep=7):
    for file in glob.glob(‘/app/*/logs/*/*.log‘):
        # 获取当前时间
        today = datetime.datetime.now()
        # 计算偏移量,前k天
        offset = datetime.timedelta(minutes=-keep)
        # 获取想要的日期时间,即前k天时间
        re_date = (today + offset)
        # 前k天时间转换为时间戳
        re_date_unix = time.mktime(re_date.timetuple())
        # 文件修改时间
        file_time = os.path.getmtime(file)
        print(file)
        if file_time <= re_date_unix:
            os.remove(file)
            # print("删除文件:" + file)

if __name__ == ‘__main__‘:
    opts, args = getopt.getopt(sys.argv[1:], ‘-h-k:‘, [‘help‘, ‘keep=‘])
    if len(opts) == 0:
        removefile()

    for opt_name, opt_value in opts:
        if opt_name in (‘-h‘, ‘--help‘):
            print("[*] Help info")
            print("-k n\t\t", "Keep  files for n days")
            sys.exit()
        if opt_name in (‘-k‘, ‘--keep‘):
            removefile(keep=eval(opt_value))

原文地址:https://www.cnblogs.com/zhf123/p/11610338.html

时间: 2024-10-02 14:43:52

python 删除/app/*/logs/*/*.logs指定多少天的文件的相关文章

python 删除2天前后缀为.log的文件

python脚本 删除2天前后缀为.log的文件 #!/usr/local/python/bin/python #-*-coding=utf8 -*- import time import os,sys N = 2 #设置删除多少天前的文件 def deletefile(path): for eachfile in os.listdir(path): filename = os.path.join(path,eachfile) if os.path.isfile(filename): lastm

python删除指定文件夹下文件和文件夹的方法

前记 ? python删除指定文件夹下的文件,是一个常用的功能.我找了不少地方,一直没有找到合适的模版,那只好自己倒腾一个比较实用的模版了. 基本模块 ? 这里面会用到几个模块,一个是??目录下所有文件的的函数:listdir 常用的使用方法: import os filenames = os.listdir('.') print(filenames) 另外一个就是查看该目录下是否有特定的文件,这个就是name.swith()函数,具体的使用方法如下: state = any(name.ends

python 按照日期切分大日志文件(重点)和按照指定大小切分日志文件

#! /usr/bin/env python # -*- coding:utf8 -*- # 切分nginx 按照日期切分日志文件 from __future__ import division import os,sys big_file='/data/logs/media.net.error.log' # 按照文件大小拆分 def split_by_filesize(fromfile,todir,chunksize=0): """ chunksize: 字节建议每100M

【linux】find删除指定时间之前的文件

今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 find . -type f -name *.log -mtime +180 -exec rm {} \; 解析: find 后面紧跟的是要查找的目录,. 表示当前目录 -type f:指定查找对象为文件 -name *.log:指定查找对象名称以.log结尾 -mtime +180: 查找180天以前的老文件 -exec r

删除最后结尾的指定字符后的字符

#region 删除最后结尾的指定字符后的字符 2 /// <summary> 3 /// 删除最后结尾的指定字符后的字符 4 /// </summary> 5 public static string DelLastChar(string str, string strchar) 6 { 7 if (string.IsNullOrEmpty(str)) 8 return ""; 9 if (str.LastIndexOf(strchar) >= 0 &a

批处理 批量删除当前目录及子目录下多个指定的扩展名文件

批量删除当前目录及子目录下任意指定的扩展名文件 今编译DEV的语言文件,各种语言文件不需要,只保留中文的语言文件,写个批处理也方便以后使用 1 @echo off 2 set Path=%CD% 3 cd /d Path 4 del /f/s/q/a *.tlog 5 del /f/s/q/a *.cache 6 del /f/s/q/a *.txt 7 del /f/s/q/a *.pdb 8 del /f/s/q/a *.resources 9 del /f/s/q/a *.vspscc 1

初识python之 APP store排行榜 蜘蛛抓取(一)

直接上干货!! 采用python 2.7.5-windows 打开 http://www.apple.com/cn/itunes/charts/free-apps/  如上图可以见采用的是utf-8 编码 经过一番思想斗争  编码如下 (拍砖别打脸) #coding=utf-8 import urllib2 import urllib import re import thread import time #----------- APP store 排行榜 ----------- class

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

在尝试同步从控制器 的命名上下文 时出现 命名上下文要被删除或没有从指定的服务器上复制

在尝试同步从控制器 的命名上下文 时出现 命名上下文要被删除或没有从指定的服务器上复制 出现这个问题时 我们要等待一段时间,因为这个话的意思是 这里面的复制链接还没有齐全,等系统自动建立后,就可以复制正常了,那么用repadmin /showrepl 命令就可以查询到,应该会有对于一个的复制链接