From 19f68329e669f5da7f4fa88a7a571b6305484e3a Mon Sep 17 00:00:00 2001 From: stephan Date: Thu, 4 Dec 2025 14:44:25 +0100 Subject: [PATCH] added srv diag srcipt --- scripts/server_diagnose.sh | 103 +++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 scripts/server_diagnose.sh diff --git a/scripts/server_diagnose.sh b/scripts/server_diagnose.sh new file mode 100644 index 0000000..c4b9c3d --- /dev/null +++ b/scripts/server_diagnose.sh @@ -0,0 +1,103 @@ +#!/bin/bash +############################################################################### +# SERVER DIAGNOSE SCRIPT +# Version: v1.0 +# Author: Stephan & ChatGPT +# Purpose: Read-only Systemdiagnose für Linux Server +# Output: server_diagnose.txt im aktuellen Verzeichnis +############################################################################### + +OUTFILE="server_diagnose.txt" + +echo "Starte Server-Diagnose..." +echo "Output wird gespeichert in: $OUTFILE" +echo "----------------------------------------" + +# Self-Test +if ! command -v uname >/dev/null 2>&1; then + echo "Fehler: uname nicht gefunden – grundlegende Tools fehlen." >&2 + exit 1 +fi + +{ +echo "SERVER DIAGNOSE REPORT" +echo "Erstellt am: $(date)" +echo "===========================================" +echo "" + +echo "### SYSTEMINFO ###" +uname -a +cat /etc/os-release 2>/dev/null +echo "" +echo "Uptime:" +uptime +echo "" +echo "CPU:" +lscpu 2>/dev/null +echo "" +echo "RAM:" +free -h +echo "" +echo "Festplatten:" +df -h +echo "" +echo "Blockgeräte:" +lsblk +echo "" + +echo "### NETZWERK ###" +ip a +echo "" +echo "Routen:" +ip r +echo "" +echo "Offene Ports:" +ss -tulpen +echo "" + +echo "### DIENSTE ###" +echo "Aktive Services:" +systemctl --type=service --state=running +echo "" +echo "Fehlerhafte Services:" +systemctl --failed +echo "" + +echo "### BENUTZER ###" +echo "Benutzerliste:" +cut -d: -f1 /etc/passwd +echo "" +echo "Sudo-Gruppe:" +getent group sudo || getent group wheel +echo "" + +echo "### SSH KONFIGURATION ###" +grep -E "^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)" /etc/ssh/sshd_config +echo "" + +echo "### DOCKER ###" +docker --version 2>/dev/null +docker ps -a 2>/dev/null +docker network ls 2>/dev/null +echo "" + +echo "### ORDNERSTRUKTUR ###" +echo "Struktur /srv:" +ls -R /srv 2>/dev/null +echo "" +echo "Struktur /data:" +ls -R /data 2>/dev/null +echo "" +echo "Struktur /docker:" +ls -R /docker 2>/dev/null +echo "" + +echo "### LOGS (CRITICAL) ###" +journalctl -p 3 -xb | head -n 50 +echo "" + +} > "$OUTFILE" + +echo "Diagnose abgeschlossen." +echo "Datei erstellt: $OUTFILE" +exit 0