Shell定时删除指定时间之前的文件
最近世界杯来了,一直忙于工作和世界杯之间,都没有空来管管我的blog了,今天只能整个简单的小shell给大家了.公司要求删除一个月之前的备份文件,免得把硬盘给整爆了,上服务器看了下,居然都有3个月的备份没有清理了,还好是sql备份,不然硬盘空间早就满了.
下面是我的解决办法:
catdelbak.sh #!/bin/sh location="/root/sqlbak/" find$location-mtime+30-typef|xargsrm-f
ps:
location是设置查找的目录
--mtime+30是设置时间为30天前
-typef这周查找的类型为文件
然后加入crontab定时来删除:
crontab-l 1041**/bin/sh/root/soft_shell/delbak.sh
设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.
相同的删除方法:
find/root/sqlbak-mtime+30-typef-name*.gz-execrm-f{}\;