maven仓库清理脚本

工作中本地maven仓库随着项目增多会变得越来越大,看着心烦,于是想着清理.

没有发现很好的清理策略,只能从文件以及文件夹修改时长上入手,修改时长小于指定时长的文件夹以及文件都给删除,循环清理几次后仓库应该就干净了.

附上清理脚本,实际上就是递归遍历文件夹然后判断文件更新时长,对比后决定是否要删除.首次清理后仓库从1.5G变为650M,清爽了不少.

import osimport shutilfrom datetime import datetime# maven仓库地址mvnHome = "/Users/niuli/.m2/repository"# 删除该日期前的文件以及文件夹deleteDateBefore = datetime(2017,4,1,0,0,0)def listPathAndClean(pathContext):pathDir = os.listdir(pathContext)for filename in pathDir:filepath = os.path.join(pathContext, filename)currentTimeFile = datetime.fromtimestamp(os.path.getmtime(filepath))# 对比时长if deleteDateBefore > currentTimeFile:print("filePath:"+filepath+"-----updatetime:"+str(currentTimeFile))print('delete this')if (os.path.isdir(filepath)):shutil.rmtree(filepath)else:os.remove(filepath)continue# 不到期的则深入遍历if os.path.isdir(filepath):listPathAndClean(filepath)if __name__ == '__main__':print(deleteDateBefore)print('start list should delete path')listPathAndClean(mvnHome)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据