今天在群里有人问如何删除一个文件夹下按照时间排序的前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