🎉 Feat/DB: Enhanced database logging & WAL management for improved stability and performance in backend/database/myp.db-wal
This commit is contained in:
@@ -225,6 +225,65 @@ show_error_summary() {
|
||||
fi
|
||||
|
||||
echo -e "${CYAN}=================================================================${NC}"
|
||||
|
||||
# Erstelle automatische Log-Zusammenfassung
|
||||
create_log_summary
|
||||
}
|
||||
|
||||
# Automatische Log-Zusammenfassung erstellen
|
||||
create_log_summary() {
|
||||
local summary_file="/var/log/myp-install-summary.txt"
|
||||
|
||||
{
|
||||
echo "================================================================="
|
||||
echo "MYP INSTALLATION ZUSAMMENFASSUNG"
|
||||
echo "Erstellt: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo "================================================================="
|
||||
echo ""
|
||||
echo "STATISTIKEN:"
|
||||
echo "- Fehler: $ERROR_COUNT"
|
||||
echo "- Warnungen: $WARNING_COUNT"
|
||||
echo "- Script Version: $APP_VERSION"
|
||||
echo "- System: $(uname -a 2>/dev/null || echo 'Unbekannt')"
|
||||
echo "- Hostname: $(hostname 2>/dev/null || echo 'Unbekannt')"
|
||||
echo "- User: $(whoami 2>/dev/null || echo 'Unbekannt')"
|
||||
echo ""
|
||||
echo "SYSTEM-INFORMATIONEN:"
|
||||
echo "- Festplattenspeicher: $(df -h / | tail -1 2>/dev/null || echo 'Nicht verfügbar')"
|
||||
echo "- Arbeitsspeicher: $(free -m | grep '^Mem:' | awk '{print $3"/"$2" MB"}' 2>/dev/null || echo 'Nicht verfügbar')"
|
||||
echo "- Python Version: $(python3 --version 2>&1 || echo 'Nicht installiert')"
|
||||
echo "- Node.js Version: $(node --version 2>&1 || echo 'Nicht installiert')"
|
||||
echo ""
|
||||
echo "LOG-DATEIEN:"
|
||||
echo "- Vollständiges Log: $INSTALL_LOG"
|
||||
echo "- Fehler-Log: $ERROR_LOG"
|
||||
echo "- Warnungs-Log: $WARNING_LOG"
|
||||
echo "- Debug-Log: $DEBUG_LOG"
|
||||
echo ""
|
||||
|
||||
if [ $ERROR_COUNT -gt 0 ] && [ -f "$ERROR_LOG" ] && [ -s "$ERROR_LOG" ]; then
|
||||
echo "FEHLER-ÜBERSICHT:"
|
||||
echo "================="
|
||||
tail -n 50 "$ERROR_LOG"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ $WARNING_COUNT -gt 0 ] && [ -f "$WARNING_LOG" ] && [ -s "$WARNING_LOG" ]; then
|
||||
echo "WARNUNGS-ÜBERSICHT:"
|
||||
echo "==================="
|
||||
tail -n 30 "$WARNING_LOG"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "INSTALLATION ABGESCHLOSSEN: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo "================================================================="
|
||||
|
||||
} > "$summary_file"
|
||||
|
||||
# Berechtigung für Zusammenfassungs-Datei setzen
|
||||
chmod 644 "$summary_file" 2>/dev/null || true
|
||||
|
||||
debug "Log-Zusammenfassung erstellt: $summary_file"
|
||||
}
|
||||
|
||||
# =========================== RETRY-MECHANISMEN ===========================
|
||||
@@ -241,10 +300,30 @@ retry_command() {
|
||||
attempts=$((attempts + 1))
|
||||
if [ $attempts -lt $MAX_RETRIES ]; then
|
||||
warning "$description fehlgeschlagen (Versuch $attempts/$MAX_RETRIES) - wiederhole in ${RETRY_DELAY}s..."
|
||||
|
||||
# Debug-Information für jeden fehlgeschlagenen Versuch
|
||||
debug "Retry-Versuch für '$description': $attempts/$MAX_RETRIES"
|
||||
debug "Fehlgeschlagener Befehl: $cmd"
|
||||
debug "Aktuelles Arbeitsverzeichnis: $(pwd)"
|
||||
debug "Verfügbarer Speicher: $(free -m | grep '^Mem:' | awk '{print $3"/"$2" MB"}' 2>/dev/null || echo 'Unbekannt')"
|
||||
debug "Exit-Code des letzten Befehls: $?"
|
||||
|
||||
sleep $RETRY_DELAY
|
||||
fi
|
||||
done
|
||||
|
||||
# Detaillierte Fehler-Information vor dem Beenden
|
||||
debug "CRITICAL: Retry-Mechanismus erschöpft für '$description'"
|
||||
debug "Letzter Befehl: $cmd"
|
||||
debug "Versuche: $MAX_RETRIES"
|
||||
debug "System-Status zum Zeitpunkt des kritischen Fehlers:"
|
||||
debug " - Disk Usage: $(df -h / | tail -1 2>/dev/null || echo 'Nicht verfügbar')"
|
||||
debug " - Memory Usage: $(free -m 2>/dev/null || echo 'Nicht verfügbar')"
|
||||
debug " - Load Average: $(uptime 2>/dev/null | awk -F'load average:' '{print $2}' || echo 'Nicht verfügbar')"
|
||||
debug " - Network Status: $(ip addr show 2>/dev/null | grep 'inet ' | grep -v '127.0.0.1' || echo 'Nicht verfügbar')"
|
||||
debug " - APT Status: $(ps aux | grep -i apt | grep -v grep || echo 'Keine APT-Prozesse')"
|
||||
debug " - Python Status: $(python3 --version 2>&1 || echo 'Python nicht verfügbar')"
|
||||
|
||||
error "$description nach $MAX_RETRIES Versuchen fehlgeschlagen!"
|
||||
}
|
||||
|
||||
@@ -3033,6 +3112,7 @@ main() {
|
||||
[ $ERROR_COUNT -gt 0 ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
|
||||
[ $WARNING_COUNT -gt 0 ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
|
||||
echo -e " 🔍 Debug-Log: $DEBUG_LOG"
|
||||
echo -e " 📊 Zusammenfassung: /var/log/myp-install-summary.txt"
|
||||
echo ""
|
||||
echo -n "Drücken Sie Enter um fortzufahren..."
|
||||
read -r
|
||||
@@ -3045,6 +3125,7 @@ main() {
|
||||
[ $ERROR_COUNT -gt 0 ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
|
||||
[ $WARNING_COUNT -gt 0 ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
|
||||
echo -e " 🔍 Debug-Log: $DEBUG_LOG"
|
||||
echo -e " 📊 Zusammenfassung: /var/log/myp-install-summary.txt"
|
||||
echo ""
|
||||
echo -n "Drücken Sie Enter um fortzufahren..."
|
||||
read -r
|
||||
@@ -3058,6 +3139,7 @@ main() {
|
||||
[ -f "$ERROR_LOG" ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
|
||||
[ -f "$WARNING_LOG" ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
|
||||
[ -f "$DEBUG_LOG" ] && echo -e " 🔍 Debug-Log: $DEBUG_LOG"
|
||||
[ -f "/var/log/myp-install-summary.txt" ] && echo -e " 📊 Zusammenfassung: /var/log/myp-install-summary.txt"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
|
Reference in New Issue
Block a user