73 lines
1.7 KiB
Bash
Executable File
73 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Show disk usage by administrator and by stable folder.
|
|
# Usage:
|
|
# scripts/ops/netgescon-storage-report.sh
|
|
# scripts/ops/netgescon-storage-report.sh --root storage/app/amministratori
|
|
# scripts/ops/netgescon-storage-report.sh --admin KPL9F3XP
|
|
|
|
ROOT_DIR="storage/app/amministratori"
|
|
FILTER_ADMIN=""
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--root)
|
|
ROOT_DIR="$2"
|
|
shift 2
|
|
;;
|
|
--admin)
|
|
FILTER_ADMIN="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
echo "Unknown option: $1"
|
|
echo "Usage: $0 [--root <dir>] [--admin <code>]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ ! -d "$ROOT_DIR" ]]; then
|
|
echo "Error: root dir not found: $ROOT_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "== ROOT =="
|
|
echo "$ROOT_DIR"
|
|
echo
|
|
|
|
echo "== SPACE BY ADMINISTRATOR =="
|
|
if [[ -n "$FILTER_ADMIN" ]]; then
|
|
if [[ ! -d "$ROOT_DIR/$FILTER_ADMIN" ]]; then
|
|
echo "Error: administrator not found: $FILTER_ADMIN"
|
|
exit 1
|
|
fi
|
|
du -sh "$ROOT_DIR/$FILTER_ADMIN"
|
|
else
|
|
du -sh "$ROOT_DIR"/* 2>/dev/null | sort -h || true
|
|
fi
|
|
|
|
echo
|
|
|
|
echo "== SPACE BY STABILE =="
|
|
if [[ -n "$FILTER_ADMIN" ]]; then
|
|
STABILI_DIR="$ROOT_DIR/$FILTER_ADMIN/stabili"
|
|
if [[ -d "$STABILI_DIR" ]]; then
|
|
du -sh "$STABILI_DIR"/* 2>/dev/null | sort -h || echo "No stabili folders in $STABILI_DIR"
|
|
else
|
|
echo "No stabili dir for administrator: $FILTER_ADMIN"
|
|
fi
|
|
else
|
|
for admin_dir in "$ROOT_DIR"/*; do
|
|
[[ -d "$admin_dir" ]] || continue
|
|
admin_code="$(basename "$admin_dir")"
|
|
stabili_dir="$admin_dir/stabili"
|
|
if [[ -d "$stabili_dir" ]]; then
|
|
echo "-- $admin_code --"
|
|
du -sh "$stabili_dir"/* 2>/dev/null | sort -h || echo "No stabili folders"
|
|
echo
|
|
fi
|
|
done
|
|
fi
|