#!/bin/bash # usage: share_size # Creates an "ini" output file suitable for php parse_ini_function which describes # the size takes up on the cache disk and each data disk. Since this # uses the 'du' command, could take awhile. share="$1" output="/var/local/emhttp/$share.$2" total=0; echo "Computing disk usage for $share..." rm -f "$output" function check { if [[ -e "$1/$2" ]] ; then echo "calculating $1 usage..." size=$(du -s "$1/$2"|cut -f1) echo "$(basename "$1")=$size" >>"$output" total=$(($total + $size)) fi } check "/mnt/cache" "$share" disks=$(ls -vd /mnt/disk*) for disk in $disks ; do check "$disk" "$share" done echo "disk.total=$total" >>"$output" echo "total disk usage: $total"