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日的文件