天天看点

批量清除大于20M的www目录

今天应知道里的一个问题写了个脚本

他的问题如下

比如我现在有个目录是/home/wind,然后/home/wind目录下有很多子目录,比如q01,q02,ww,xmmk,ju,qq .....等等,然后每个子目录下都有个相同的目录www,然后我现在想写个脚本,只要运行这个脚本,每个/home/wind/*/www目录下的所有文件的总大小大于20M,就将这个/home/wind/*/www目录清空,这个脚本要怎么写,万分感谢!!! 

代码如下:

首先用find查找出/home/wind下名字为www的目录

遍历找到的目录,用du获取各个目录的大小和20M做对比,大于20M的做删除操作

let minsize=20*1024*1024 #20M 

find /home/wind -name www -type d |while read dirpath 

do 

        dirsize=`du $dirpath --max-depth=0|cut -f 1` 

        echo "'$dirpath' size=$dirsize" 

        if [ "$dirsize" -gt "$minsize" ] 

        then 

            echo "rm -rf $dirpath/*" 

#rm -rf $dirpath/*

        fi 

done 

本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/611652,如需转载请自行联系原作者

继续阅读