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

2020-07-11  本文已影响0人  醉眼看人间_个个都温柔
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]
上一篇 下一篇

猜你喜欢

热点阅读