728x90
- 파일 이름이 날짜시간이어야 함.
- 경로는 IP로 단순히 정의했음.
#-*- coding: utf-8 -*-
import os, re
from datetime import date, timedelta
filePath = '경로/rawlog'
class LogRemover:
def __init__(self, dPath = filePath, days = 7):
self.defaultPath = dPath
self.duDays = days
def getFileList(self):
ipCheck = re.compile(r'(\d+).(\d+).(\d+).(\d+)')
fList = os.listdir(self.defaultPath)
for ipFile in fList:
if ipCheck.search(ipFile) != None:
self.fileRemove(ipFile)
def fileRemove(self, ipFile):
dateCheck = re.compile(r'(\d{8})')
tDay = date.today()
_dDay = tDay - timedelta(self.duDays)
dDay = str(_dDay).replace('-','')
fullDir = os.path.join(self.defaultPath, ipFile)
fList = os.listdir(fullDir)
fList.sort()
for fName in fList:
_fName = dateCheck.search(fName)
if _fName.group() >= dDay:
break
else:
os.remove(os.path.join(fullDir, fName))
def run(self):
self.getFileList()
if __name__ == '__main__':
m = LogRemover()
m.run()
#EOF
728x90
'Python' 카테고리의 다른 글
로깅 (0) | 2023.04.24 |
---|---|
상위, 하위, 동일 폴더 내 모듈 from, import 하기 (0) | 2023.04.24 |
사전(dict) (0) | 2023.04.24 |
모듈 (0) | 2023.04.24 |
List Comprehension(리스트 컴프리헨션) (0) | 2022.11.05 |