liunx 下关于备份文件删除

本文介绍两种使用Shell脚本批量删除指定目录下按时间排序的前N个文件夹的方法。一种为初学者示例,另一种为高级示例,展示了更简洁高效的脚本编写技巧。同时介绍了如何通过crontab定时执行此类脚本。

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

 今天在群里有人问如何删除一个文件夹下按照时间排序的前N个文件夹,该目录下只有文件夹。个人写了一个脚本,群里有人写了一个脚本,现整理下来,方便以后查阅。
个人的:
#!/bin/sh
ls -lrt| awk '{if(NR<4 && NR!=1) printf("rm -rf %s\n",$8)}' >rm2.sh
chmod 755 rm2.sh
./rm2.sh
rm rm2.sh
高手的:
#!/bin/sh
for i in `ls -lthr | head -3 |grep -v 'total'`
do
rm -rf $i
done;
  从以上两个脚本能看出两个人的差距是如此之大啊。我还需要继续钻研linux的脚本,朝着高手的目标迈进。


------------------------------------------------------------

crontab执行脚本
crontab:
00 03 1 * * /tmp/rm_expired_ftp_files.sh

/tmp/rm_expired_ftp_files.sh:
find /pub_ftp_directory -ctime +90 | xargs rm -fr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值