shell脚本之删除固定天数之前的文件

shell脚本之删除固定天数之前的文件

需求删除30天之前的文件

  该需求一般用于自动清理程序日志,程序日志按每天分割之类的场景。

#!/bin/bash
#文件目录
addr=/apps/logs
#需要删除的文件名称
file_name="*.log"
#天数
days=30

#查询并删除文件
find $addr -type f -mtime +$days -name $file_name  -exec rm -rf {} \;

#查找并删除空目录
find $addr -type d -empty -delete

   注意:这里是判断文件最近的改动时间。可以使用stat命令进行时间确认,如下,在一些特殊情况下,本来是24日文件,最新修改的时间是25日,所以这种情况下,会计算该文件为25日的文件

posted @ 2024-09-26 10:20  难止汗  阅读(302)  评论(0编辑  收藏  举报