67 lines
1.8 KiB
Bash
Executable File
67 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Verzeichnis deines Inventar-Repos (lokal auf Falkenstein!)
|
|
INVENTORY_DIR="/opt/hx-ki/repos/hxki-inventory"
|
|
|
|
REPORT_DIR="/opt/hx-ki/reports"
|
|
mkdir -p "$REPORT_DIR"
|
|
|
|
TS="$(date +"%Y-%m-%d_%H%M%S")"
|
|
OUT="${REPORT_DIR}/HXKI_System_BirthCertificate_${TS}.txt"
|
|
|
|
{
|
|
echo "=== HXKI SYSTEM GEBURTSURKUNDE ==="
|
|
echo "Quelle: $INVENTORY_DIR"
|
|
echo "Zeitpunkt: $(date)"
|
|
echo
|
|
|
|
echo "1) Gesamtübersicht"
|
|
echo "------------------"
|
|
echo -n "Gesamtgröße des Tresors: "
|
|
du -sh "$INVENTORY_DIR" | awk '{print $1}'
|
|
echo -n "Anzahl Dateien gesamt: "
|
|
find "$INVENTORY_DIR" -type f | wc -l
|
|
echo
|
|
|
|
echo "2) Verzeichnisstruktur (Top-Level, Tiefe 2)"
|
|
echo "------------------------------------------"
|
|
find "$INVENTORY_DIR" -maxdepth 2 -type d | sed "s|$INVENTORY_DIR|.|"
|
|
echo
|
|
|
|
echo "3) Größte 20 Dateien im Tresor"
|
|
echo "------------------------------"
|
|
# benötigt GNU find (auf Ubuntu Standard)
|
|
find "$INVENTORY_DIR" -type f -printf '%s %p\n' \
|
|
| sort -nr \
|
|
| head -20 \
|
|
| awk '{printf "%10.1f MB %s\n", $1/1024/1024, $2}'
|
|
echo
|
|
|
|
echo "4) Inventar- und Log-Dateien (Auszug)"
|
|
echo "-------------------------------------"
|
|
INVENT_FILES=$(find "$INVENTORY_DIR" -type f \( -iname "*inventory*" -o -iname "*inventar*" -o -iname "*.log" \) | head -10)
|
|
if [ -z "$INVENT_FILES" ]; then
|
|
echo "Keine Inventar-/Log-Dateien gefunden."
|
|
else
|
|
for f in $INVENT_FILES; do
|
|
echo
|
|
echo "--- Datei: ${f#$INVENTORY_DIR/} ---"
|
|
echo "(erste 40 Zeilen)"
|
|
echo
|
|
sed -n '1,40p' "$f"
|
|
echo
|
|
done
|
|
fi
|
|
|
|
echo
|
|
echo "5) Zusammenfassung"
|
|
echo "------------------"
|
|
echo "Diese Geburtsurkunde beschreibt den Zustand des HX-KI Tresors"
|
|
echo "auf Falkenstein zum angegebenen Zeitpunkt (Größe, Struktur,"
|
|
echo "wichtigste Dateien und Inventarauszüge)."
|
|
echo
|
|
} > "$OUT"
|
|
|
|
echo "$OUT"
|