Linux shell删除指定时间之前的文件
10 年 ago jony Linux shell删除指定时间之前的文件已关闭评论
公司要求删除一个月之前的备份文件,免得把硬盘给整爆了,上服务器看了下,居然都有3个月的备份没有清理了,还好是sql备份,不然硬盘空间早就满了.
下面是我的解决办法:
cat delbak.sh
| 1 | #!/bin/sh |
| 2 | location="/root/sqlbak/" |
| 3 | find $location -mtime +30 -type f |xargs rm -f |
ps:
location 是设置查找的目录
--mtime +30 是设置时间为30天前
-type f 这周查找的类型为文件
然后加入crontab定时来删除
crontab -l
10 4 1 * * /bin/sh /root/soft_shell/delbak.sh
设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.
相同的删除方法:
find /var/www/html/DB/ -mtime +30 -type f -name *.sql -exec rm -rf {} \; #注意在rf {} \; 的{} \;中间有空格