今天接到电话,有楼下客户反映,数据有问题,我连接到服务器上,发现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)
呵呵,最后瓶装成一个函数,应为有多个路径的文件需要删除,如果有更好的写法,请大家不灵赐教。。。