gitlab repository仓库统计大于1G的仓库

#!/bin/bash
#Base_Size=1 #定义基础大小为1G
Base_Path="/data/gitlab_data/repositories"
if [ -f ~/FileName_SizeCount.txt ]
then    
    rm -rf ~/FileName_SizeCount.txt
fi
#列出gitlab repository仓库下仓库列表并存入数组中
dir=$(ls -l /data/gitlab_data/repositories |awk '/^d/ {print $NF}')
for i in $dir
do
    if [ "`ls -A "${Base_Path}/${i}"`" = "" ]
    then 
        echo "${i} is empty"
    else
        echo "${i} is not empty"
        cd ${Base_Path}/${i}
        subdir=$( ls -l "$Base_Path/${i}" |awk '/^d/ {print $NF}')
        for file_name in $subdir
        do
            #sub_DirSize=`du -sh $file_name | grep 'G' | cut -d 'G' -f 1`
            sub_DirSize=`du -sh $file_name | awk '{print $1}'| grep 'G'`
            if [ ! -n "$sub_DirSize" ]
            then
                continue
            else
                echo "${Base_Path}/${i}/${file_name} ${sub_DirSize}" >>~/FileName_SizeCount.txt
            fi
            #echo " "${Base_Path}/${i}/${file_name}" ${sub_DirSize} \n" >>~/FileName_SizeCount.txt
        done
        #echo 
        #echo "---------------------------------------------------"
    fi
    #echo "####################################"
    echo 
done 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容