shell按照时间排序,保留最新的10个文件并删除其余文件
shell按照时间排序,保留最新的10个文件并删除其余文件
#!/bin/sh basedir=$(cd dirname $0 ;pwd)
DATE=$(date "+%F %H:%M") path=/data/ceshi save_num=5 line=$(ls -l $path|sed 1d|wc -l) if [ ! $basedir/del_name.log ];then touch $basedir/del_name.log fi echo "--------------------$DATE------------------------" >>$basedir/del_name.log if [ $save_num -lt $line ];then echo "----------------delete path is $path-------------------" >>$basedir/del_name.log ls -t $path|awk "{if(NR>$save_num){print $1}}" >>$basedir/del_name.log cd $path ls -t|awk "{if(NR>$save_num){print $1}}"|xargs rm -rf else echo "$path wenjian number is ok" >>$basedir/del_name.log fi 固定格式文件,某个名字的保留几个可以参考下面的: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |