怎么用Shell定时删除指定时间之前的文件

这篇文章主要介绍“怎么用Shell定时删除指定时间之前的文件”,在日常操作中,相信很多人在怎么用Shell定时删除指定时间之前的文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shell定时删除指定时间之前的文件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

代码如下:


cat delbak.sh
#!/bin/sh
location="/root/sqlbak/"
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 /root/sqlbak -mtime +30 -type f -name *.gz -exec rm -f {} \;

到此,关于“怎么用Shell定时删除指定时间之前的文件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!