今天接到电话,有楼下客户反映,数据有问题,我连接到服务器上,发现broke的一个盘符空间满了,导致,应用在报错,停下服务,删除了庞大的日志文件,服务开启,一切正常了。
早就想写个脚本放在服务器上,今天正好有空,于是扒拉了一下,写了个Python的小脚本,大牛就不用看了,原理是找出每个文件的修改时间,如果修改时间不是当天,换句话如果小于今天,那么我们就删掉这个文件。写的比较粗糙,看下代码:
#!/usr/bin/env python import os import shutil import time import datetime path1='C:\\BACKUP_Queue_Broker_SHTumor_20130218\\Log\\' #path2='C:\\BACKUP_Other_Broker_SHTumor_20130218\Log\\' #path3='C:\\BACKUP_Schedule_Broker_SHTumor_20130807\\Log\\' def deleteFile(path): today=datetime.datetime.today() file=os.listdir(path) for i in file: mtime=os.stat(path+i).st_mtime #得到文件的修改时间标记 format='%Y-%m-%d' value=time.localtime(mtime) dt=time.strftime(format,value) dt1=datetime.datetime.strptime(dt,format) #转换下时间格式 today=(str(today))[:10] dt1=str(dt1)[:10] #print dt1 #print today if dt1 < today : print "Begin To Delete File ", path+i os.remove(path+i) else: pass deleteFile(path1) #deleteFile(path2) #deleteFile(path3)
呵呵,最后瓶装成一个函数,应为有多个路径的文件需要删除,如果有更好的写法,请大家不灵赐教。。。