今天应知道里的一个问题写了个脚本
他的问题如下
比如我现在有个目录是/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,如需转载请自行联系原作者