shell脚本之根据文件修改时间,删除目录下多余的文件
需求:目录下至保留5个文件。
该需求一般用于备份,这里使用根据文件的修改时间或者创建时间来判断删除,保留最新的5个文件。
#!/bin/bash #存放文件的目录 addr="/opt/bak" #保留最新文件个数 file_save_num=5 #目录下文件总数 file_num=`ls $addr | wc -l` #文件总数大于保留个数则删除,否则不进行任何操作 if [[ $file_num -gt $file_save_num ]] ;then #根据多余的文件数量进行循环 for (( i=0; i<$(($file_num - $file_save_num));i++ )) do #获取到最旧的文件名称 remove_file_name=`ls -t $addr | tail -n 1` #删除文件 rm -f $addr/$remove_file_name done fi
注意:该脚本需要目录下为纯文件的场景,并未判断目录的情况。
标签:文件,shell,删除,num,多余,file,目录 From: https://www.cnblogs.com/NanZhiHan/p/18430929