added srv diag srcipt
This commit is contained in:
103
scripts/server_diagnose.sh
Normal file
103
scripts/server_diagnose.sh
Normal file
@ -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
|
||||
Reference in New Issue
Block a user