shell 检测备份文件数并删除旧文件

该博客介绍了一个shell脚本,用于检测特定文件夹`/Users/lizhen/Desktop/test/dealFiles`中的备份文件数量。当文件超过设定的保存个数(5个)时,将自动删除最旧的文件,以保持文件夹内的备份文件不超过设定限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/sh

#定义要监测的文件夹

BACK_DIR=/Users/lizhen/Desktop/test/dealFiles 

设置要保存的文件个数

SAVE_COUNT=5

cd $BACK_DIR

#1 判断文件个数
count=$(ls -l | grep "^d" | wc -l)
echo "######del before files total counts is " $count
echo "###### start all files name : " $(ls -tr)
delcount=$[$count - $SAVE_COUNT]
echo "delcount is : " $delcount
#2 是否进行删除
if [ $delcount -gt 0 ] ; then
        echo "####starting del ..."
        #获取时间最久的文件夹名称
        filesname=$(ls -tr | head -n $delcount)
        echo "filesname ls -tr | head -n " $delcount  $filesname
        filesname=${filesname// /}
        filesarr=($filesname)
        #循环依次删除时间久的文件
        for each in ${filesarr[*]}
                do
                        echo "deling file is " $each
                        rm -rf $each
                done
        echo echo "######del before files total counts is " $(ls -l | grep "^d" | wc -l)
fi
echo "###### end all files name : " $(ls -tr) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值