лог
#!C:/Python32/python.exe
# -*- coding: utf-8 -*-
import os
import sys
import datetime
import string
import logging
import argparse
parser = argparse.ArgumentParser(description='Deletes files older than N days.')
parser.add_argument('rootdir', metavar='DirRoot', help='Folder with files')
parser.add_argument('dayold', metavar='N', type=int, help='Number of days')
parser.add_argument('-l','--logfile', metavar='LogFile',default='log.txt', help='Log file')
parser.add_argument('-c','--column', metavar='C',type=int,default=60, help='Column Width')
args = parser.parse_args()
rootdir = args.rootdir
dayold = args.dayold
logfile = args.logfile
columnw = args.column
dnow = datetime.datetime.now()
logging.basicConfig(level = logging.DEBUG,
format = '%(asctime)s {%(filename)s} %(levelname)s: %(message)s',
datefmt = '%Y-%m-%d %H:%M:%S',
filename = logfile,
filemode='a')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s {%(filename)s} %(levelname)s: %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
#logging.info('')
logger1 = logging.getLogger('myapp.area1')
if not os.path.exists(rootdir) :
sys.exit('Missing folder: %s' % rootdir)
fileList = []
for root, subFolders, files in os.walk(rootdir):
for file in files:
fileList.append(os.path.join(root,file))
for file in fileList:
try:
dmodify = datetime.datetime.fromtimestamp(os.path.getmtime(file))
days_diff = (dnow-dmodify).days
if days_diff > dayold :
os.remove(file)
logger1.info('%s %s %s deleted',file.ljust(columnw),dmodify.strftime('%Y-%m-%d %H:%M:%S'),days_diff)
else :
logger1.info('%s %s %s',file.ljust(columnw),dmodify.strftime('%Y-%m-%d %H:%M:%S'),days_diff)
except OSError as e:
logger1.error('OSError: {}. File: {}'.format(e.strerror, e.filename))