#!/bin/bash # Disk Usage Report Script # Shows detailed disk usage for SSD and HDD echo "=== Disk Usage Report ===" echo "$(date)" echo "" # Overall disk usage echo "[Overall Disk Usage]" df -h / /mnt/media 2>/dev/null || df -h / echo "" # SSD usage breakdown echo "[SSD - Docker Configs] (/home/jpmschweitzer/docker-data)" if [ -d "/home/jpmschweitzer/docker-data" ]; then du -sh /home/jpmschweitzer/docker-data/* 2>/dev/null | sort -hr | head -10 else echo "Directory not found" fi echo "" # HDD usage breakdown echo "[HDD - Media Content] (/mnt/media)" if [ -d "/mnt/media" ]; then du -sh /mnt/media/* 2>/dev/null | sort -hr else echo "⚠️ Media drive not mounted!" fi echo "" # Docker system usage echo "[Docker System Usage]" docker system df echo "" # Largest containers echo "[Largest Containers]" docker ps --size --format "table {{.Names}}\t{{.Size}}" | head -11 echo "" # Warn if getting full ssd_percent=$(df /home/jpmschweitzer/docker-data 2>/dev/null | awk 'NR==2 {print $5}' | sed 's/%//') hdd_percent=$(df /mnt/media 2>/dev/null | awk 'NR==2 {print $5}' | sed 's/%//') echo "[Warnings]" if [ -n "$ssd_percent" ] && [ "$ssd_percent" -gt 85 ]; then echo "⚠️ SSD is ${ssd_percent}% full - consider cleanup!" fi if [ -n "$hdd_percent" ] && [ "$hdd_percent" -gt 85 ]; then echo "⚠️ HDD is ${hdd_percent}% full - consider cleanup!" fi if [ -z "$hdd_percent" ]; then echo "❌ Media drive not mounted at /mnt/media!" fi # Suggestions echo "" echo "[Cleanup Suggestions]" echo "- Clean Docker: ./scripts/cleanup.sh" echo "- Remove old images: docker image prune -a" echo "- Check large files: du -sh /mnt/media/* | sort -hr" echo ""