python2.7过期-keepy:自动删除过期文件(夹)

为需要全自动运行的服务器开发了一款小工具,keepy,可以实现自动删除过期文件或文件夹的功能。

比如网站每天产生的log文件,可能只希望保留最近18个月的,每天自动备份的数据库文件,可能只需要保留最近15天的,其它过期的文件,全部自动删除。

定时运行keepy,就可以实现全自动删除任何过期文件或文件夹,永远只保留自己需要的时间段的文件,不用担心文件越来越多,服务器因为硬盘被占满而影响运行。

keepy项目地址

keepy使用说明

help info有使用示例,这是各位同学clone项目后的第一个动作:

$ python3 keepy.py -h

keepy会要求指定一个路径,一个文件(夹)名的pattern(正则表达式),一个保留时间范围。然后keepy会找出所有符合删除条件的文件,最后在执行删除前,让你确认!keepy的运行原理,就是在指定的路径中搜索(非递归)符合pattern(代码中使用re.search进行匹配)和不在时间范围的文件!时间范围的确定,使用文件(夹)的mtime属性。

只保留最近18个月的log文件:

$ python3 keepy.py -p path -refile ^www.access.log_ --month 18

log文件的名称都是 www.access.log_ 开始,因为用此字符串来作为pattern。--month 18表示保留最近18个月的文件,如果算上当前这个月,就是19个月!

只保留最近15天的db备份文件:

$ python3 keepy.py -p path -refile _pynote.db.gzip$ --day 15

--day,--month和--year均可以配置0,这表示只保留当天,当月和当年的文件!

自动输入Yes(-y选项):

$ python3 keepy.py -p path -y -refolder pattern --day 90

--refolder表示对文件夹进行操作。--refile和--refolder这两个命令行参数互斥。

V0.04版本新增 --last N参数,保留最后的N个文件(夹):

$ python3 keepy.py -p path --refile pattern --last N

注意:当N==0时,keepy会删除全部匹配的文件(夹)!

keepy版本

2020年10月25日,V0.04

增加 --last N 配置参数,可实现删除全部的功能

2020年7月9日,V0.03

增加--refolder参数

修改-f参数为--refile

优化help信息

2020年3月7日,V0.02

修改 -a 到 -p,可输入一个相对路径

2020年2月9日, V0.01

第1个版本

-- EOF --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值