zabbix自动发现指定目录次级目录大小LLD脚本

1 脚本内容
[root@ysw script]# cat dir_size.moniter.sh 
#!/bin/bash
#zabbix LLD 自动发现脚本
#作者:醉眼看人间,个个都温柔
#功能:自动发现某个文件夹下次级的所有目录大小 单位b

DIR=$1
if [ ! -n "$DIR" ]; then 
echo "此脚本需要位置传参指定目录"
exit
fi

dirarray=(`ls -l $DIR | grep "^d" |awk '{print $9}'`)
length=${#dirarray[@]}
echo "{"
echo "    \"data\":["
for ((i=0;i<$length;i++))
do
        DIR_NAME=`echo ${dirarray[$i]}`
        DIR_SIZE=`du -sk $DIR/${dirarray[$i]}/ |awk '{print $1}'`
        echo '        {'
        echo "            \"{#DIR_NAME}\":\"${DIR_NAME}\","

        echo "            \"{#DIR_SIZE}\":\"${DIR_SIZE}\""

        if [ $i -lt $[$length-1] ];then
        echo '        },'
        fi
done
echo '        }'
echo "    ]"
echo "}" 
[root@ysw script]#
2 脚本执行结果
[root@ysw script]# sh dir_size.moniter.sh /tmp/
{
    "data":[
        {
            "{#DIR_NAME}":"ansible_setup_payload_1KmI7A",
            "{#DIR_SIZE}":"176"
        },
        {
            "{#DIR_NAME}":"ansible_setup_payload_TRuv_0",
            "{#DIR_SIZE}":"176"
        },
        {
            "{#DIR_NAME}":"ansible_setup_payload_wp8wSd",
            "{#DIR_SIZE}":"176"
        },
        {
            "{#DIR_NAME}":"hsperfdata_root",
            "{#DIR_SIZE}":"4"
        },
        {
            "{#DIR_NAME}":"zabbix",
            "{#DIR_SIZE}":"80"
        }
    ]
}
[root@ysw script]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容