压缩.log 文件为zip后删除原文件
需要注意:本人作为小白,该脚本需要和.log在一起,后面有时间需要改正。
#!/usr/local/python/bin/python #-*-coding=utf8 -*- import time import os import sys import zipfile N = 7 #设置删除多少天前的文件 def zip(srcpath): for folder,sumfolder,files in os.walk(srcpath): for file in files: lastmodifytime = os.stat(os.path.join(srcpath,file)).st_mtime endfiletime = time.time() - 3600 * 24 * N #设置删除多久之前的文件 if endfiletime > lastmodifytime: if file.endswith('.log') or file.endswith('.txt') or file.startswith('app.log'): #处理后缀为.log和.txt 的文件,或者文件名开头为app.log 的文件 fantasy_zip=zipfile.ZipFile(file + ".zip",'w',allowZip64 = True) #对大于4G的文件也可以操作 fantasy_zip.write(os.path.join(folder,file),os.path.relpath(os.path.join(folder,file),srcpath),compress_type = zipfile.ZIP_DEFLATED) fantasy_zip.close() os.remove(file) print "删除文件 %s 成功" % filename if __name__ == '__main__': srcpath = r'/home/xiaodao/logs' zip(srcpath)