#!/bin/sh # # (c)2009, Christian Kujau modified by dano229 # Based on the 'homedirs' plugin, initially written in Perl by Philipp Gruber # # We still need a cronjob to update CACHEFILE once in a while, e.g.: # 0 * * * * root [ -O /tmp/munin-du_multidirs.cache ] && du -sk /dir /dir2 dir3/* > /tmp/munin-du_multidirs.cache # CACHEFILE=/tmp/munin-du_multidirs.cache if [ "$1" = "autoconf" ]; then echo yes exit 0 fi if [ "$1" = "config" ]; then echo 'graph_title Directory usage' echo 'graph_args --base 1024 -l 1' echo 'graph_vlabel Bytes' echo 'graph_category disk' echo 'graph_info This graph shows the size of several directories' awk '!/lost\+found/ {print $2 }' $CACHEFILE | sort | while read label; do field=`echo "$label" | sed 's/^[^A-Za-z_]/_/' | sed 's/[^A-Za-z0-9_]/_/g'` echo "$field".label "$label" echo "$field".draw LINE1 # echo "$field".warning 0 # echo "$field".critical 0 done exit 0 fi awk '!/lost\+found/ { sub(/[^a-zA-Z_]/,"_",$2); gsub(/[^a-zA-Z0-9_]/,"_",$2); print $2".value "$1 * 1024 }' $CACHEFILE | sort -r -n -k2