1.进入脚本所在路径
2.执行脚本
1
| python3 cleanCacheFiles.py "2023-10-10 10:10" "2024-10-10 10:10"
|
说明:第一个时间为开始时间,第二个时间为结束时间。 可以只输入开始时间,那么结束时间为执行脚本的当前时间。 双引号不能省略,因为日期和时间中间有空格会识别为四个参数。
Python脚本内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import os import time import shutil import sys import datetime if len(sys.argv) 1: starttime = sys.argv[1] try: endtime = sys.argv[2] except: endtime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") #检测路径 file_path = '/root/logs/' #将开始结束时间转换为时间戳 try: t0 = time.mktime(time.strptime(starttime, "%Y-%m-%d %H:%M")) t1 = time.mktime(time.strptime(endtime, "%Y-%m-%d %H:%M")) except: print ('Error:输入的时间格式不匹配!') sys.exit() if os.path.exists(file_path): #获取顶级目录里的二级目录 for dir in os.listdir(file_path): #获取二级目录里的目录 for subdir in os.listdir(file_path+dir): fullpath=file_path+dir+'/'+subdir #计算时间戳是否在指定范围内 if os.path.getmtime(fullpath) >= t0 and os.path.getmtime(fullpath) <= t1: #如果在指定范围内就删除目录 try: shutil.rmtree(fullpath) print ('正在删除'+fullpath+'!') except: print ('Error:'+fullpath+'目录删除失败!') print ('执行结束!') else: print ('Error:根目录不存在!') else: print ('请输入开始时间及结束时间,或者只输入开始时间!')
|