opslagdiagnostiek

schijfgebruik.sh

Toont de grootste mappen op het systeem, gesorteerd op grootte. Handig om snel te achterhalen waar schijfruimte naartoe gaat.

Script

#!/bin/bash
# schijfgebruik.sh — grootste mappen tonen
#
# Gebruik:
#   ./schijfgebruik.sh           # analyseert /
#   ./schijfgebruik.sh /var      # analyseert /var
#   ./schijfgebruik.sh /var 20   # top 20 i.p.v. top 10

set -euo pipefail

PAD="${1:-/}"
AANTAL="${2:-10}"

echo "Schijfgebruik onder ${PAD} — top ${AANTAL} mappen"
echo "----------------------------------------------"

du -x --max-depth=4 "${PAD}" 2>/dev/null \
    | sort -rh \
    | head -n "${AANTAL}" \
    | awk '{printf "%-10s %s\n", $1, $2}'

echo ""
echo "Totaal gebruik:"
df -h "${PAD}" | awk 'NR==2 {printf "  Gebruikt: %s / %s (%s)\n", $3, $2, $5}'

Gebruik

chmod +x schijfgebruik.sh

./schijfgebruik.sh              # analyseert /
./schijfgebruik.sh /var         # analyseert /var
./schijfgebruik.sh /home 20     # top 20 onder /home

Voorbeeld uitvoer

Schijfgebruik onder / — top 10 mappen
----------------------------------------------
18G        /
6,2G       /usr
4,1G       /var
3,8G       /var/lib
2,9G       /var/lib/docker
1,4G       /home
...

Totaal gebruik:
  Gebruikt: 18G / 50G (37%)

Tip

Combineer met lsof om te kijken welk proces grote bestanden open heeft:

lsof +D /var/log | awk '{print $1, $2}' | sort | uniq -c | sort -rn | head