Delete files 2
Tilbage
Hent filen
Licens GPL
USAGE: delete_files [-h <arg>]|[-d <arg>]
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
USAGE: delete_files [-h <arg>]|[-d <arg>]
-h <int> : default 24. Angiver filens mindste alder i timer.
-d <int> : default 0. Angiver filens mindste alder i dage.
Filer i aktuelt bibliotek bliver slettet hvis de er ældre end angivet
Eks.
delete_files # uden argumenter sletter alle filer over 24 timer
delete_files -d 3 # sletter filer som er mere end 3 x 24 timer gamle
delete_files -h 2 # sletter filer som er mere end 2 timer gamle
"""
import getopt, os, sys, datetime
##############################
# Fetch and validate Options #
##############################
try:
Options, Args = getopt.getopt(sys.argv[1:], 'h:d:')
except:
print __doc__
sys.exit()
# der der for mange Options
if len (Options) > 1 :
print __doc__, "To many options selected"
sys.exit()
# set tiden som default 24 timer
Tid = datetime.timedelta( hours=24 )
for Option, Argument in Options:
try: # test if argument is int ?
if Option == '-h':
Tid = datetime.timedelta( hours=int( Argument ) )
elif Option == '-d':
Tid = datetime.timedelta( days=int( Argument ) )
except: # Args was not int
print __doc__, "args must bee int"
sys.exit()
#############################################
# gennemgå alle filerne i aktuelt bibliotek #
#############################################
# Set grænsen for hvor gamle filerne må være
Limit = datetime.datetime.now() - Tid
for FName in os.listdir("."):
if os.path.isfile(FName) and not os.path.islink(FName):
# kun filer chekkes
if datetime.datetime.fromtimestamp( os.path.getmtime( FName ) ) < Limit:
print "deleting " , FName
os.remove(FName)