浏览代码

ssh-connections: SSH Ziele angepasst
debian-update+docker+sudo/update.sh: neue Datei erstellt

Stefan Suter 6 天之前
父节点
当前提交
416347b55c
共有 2 个文件被更改,包括 101 次插入2 次删除
  1. 100 0
      debian-update+docker+sudo/update.sh
  2. 1 2
      ssh/ssh-connection.sh

+ 100 - 0
debian-update+docker+sudo/update.sh

@@ -0,0 +1,100 @@
+#!/bin/bash
+
+# Variablen
+PAPERLESS_DIR="/home/stefan/paperless-ngx"
+REBOOT_REQUIRED_FILE="/var/run/reboot-required"
+
+# Farben für die Ausgabe
+GREEN='\033[0;32m'
+YELLOW='\033[1;33m'
+RED='\033[0;31m'
+NC='\033[0m' # No Color
+
+echo -e "${YELLOW}### Starte System-Update Prozess für User: $USER ###${NC}"
+
+# 1. & 2. APT Update und Check
+echo -e "${YELLOW}[1] Prüfe auf System-Updates...${NC}"
+sudo apt update
+
+# Wir prüfen, ob updatebare Pakete gelistet werden (Zeilen zählen)
+# 'apt list --upgradable' gibt immer eine Kopfzeile aus, daher prüfen wir, ob mehr als 1 Zeile existiert.
+UPDATES_COUNT=$(apt list --upgradable 2>/dev/null | grep -v "Auflistung" | grep -v "Listing" | wc -l)
+
+if [ "$UPDATES_COUNT" -gt 1 ]; then
+    echo -e "${GREEN}Es sind Updates verfügbar. Starte Upgrade...${NC}"
+    sudo apt upgrade -y
+    sudo apt autoremove -y # Optional: Alte Pakete aufräumen
+else
+    echo -e "${GREEN}Keine System-Updates verfügbar. Überspringe Upgrade.${NC}"
+fi
+
+echo -e "${YELLOW}------------------------------------------------${NC}"
+
+# 3. Docker Compose Down
+echo -e "${YELLOW}[2] Stoppe Paperless-ngx Container...${NC}"
+
+# Sicherheitscheck: Existiert das Verzeichnis?
+if [ -d "$PAPERLESS_DIR" ]; then
+    cd "$PAPERLESS_DIR" || exit
+    docker compose down
+else
+    echo -e "${RED}FEHLER: Verzeichnis $PAPERLESS_DIR nicht gefunden!${NC}"
+    exit 1
+fi
+
+echo -e "${YELLOW}------------------------------------------------${NC}"
+
+# 4. Docker Compose Pull
+echo -e "${YELLOW}[3] Lade neue Docker Images (Pull)...${NC}"
+docker compose pull
+
+echo -e "${YELLOW}------------------------------------------------${NC}"
+
+# 5. Prüfung auf Neustart (needrestart & Systemfile)
+echo -e "${YELLOW}[4] Prüfe, ob Neustart notwendig ist...${NC}"
+
+# Prüfung 1: Debian System Flag (für Kernel Updates)
+SYSTEM_REBOOT_NEEDED=false
+if [ -f "$REBOOT_REQUIRED_FILE" ]; then
+    echo -e "${RED}!!! SYSTEM NEUSTART ERFORDERLICH (Kernel Update) !!!${NC}"
+    SYSTEM_REBOOT_NEEDED=true
+fi
+
+# Prüfung 2: needrestart (für Services/Libs)
+# Prüfen ob needrestart installiert ist
+if command -v needrestart &> /dev/null; then
+    sudo needrestart -k -p # -k prüft kernel, -p macht es script-freundlich (terse)
+    # Wir zeigen dem User die normale Ausgabe für Details:
+    sudo needrestart
+else
+    echo "Hinweis: 'needrestart' ist nicht installiert. Installiere es mit 'sudo apt install needrestart' für genauere Infos."
+fi
+
+echo -e "${YELLOW}------------------------------------------------${NC}"
+
+# 6. Userabfrage
+echo -e "${YELLOW}[5] Entscheidung${NC}"
+if [ "$SYSTEM_REBOOT_NEEDED" = true ]; then
+    echo -e "Das System meldet einen erforderlichen Neustart."
+fi
+
+read -p "Soll das System jetzt neu gestartet werden? (j/n): " REBOOT_CHOICE
+
+case "$REBOOT_CHOICE" in
+    [jJ]|[yY])
+        echo -e "${RED}System wird neu gestartet...${NC}"
+        # Hinweis: Docker Container starten nach Reboot automatisch,
+        # wenn in der docker-compose.yml 'restart: unless-stopped' oder 'always' steht.
+        sudo reboot
+        ;;
+    *)
+        echo -e "${GREEN}Kein Neustart gewählt. Fahre fort...${NC}"
+
+        # 7. Docker Compose Up
+        echo -e "${YELLOW}[6] Starte Paperless-ngx...${NC}"
+        # Wir sind durch Schritt 3 bereits im richtigen Verzeichnis
+        docker compose up -d
+
+        echo -e "${GREEN}Script erfolgreich beendet. Paperless läuft.${NC}"
+        ;;
+esac

+ 1 - 2
ssh/ssh-connection.sh

@@ -8,8 +8,8 @@ DEFAULT_SSH_KEY="/home/stefan/Nextcloud/SSH/SSH-Key/Lieblingsnetz/lieblingsnetz_
 # ========== Zieldefinitionen ==========
 # Format: Name|Host|[User]|[Port]|[Key]
 TARGET_LIST=(
+    "100-Gogs-Git|192.168.1.100|stefan"
     "101-Immich|192.168.1.101"
-    "102-Gogs-GIT|192.168.1.102|stefan"
     "103-LS25-Server|192.168.1.103|stefan"
     "104-Game-Server|192.168.1.104|stefan"
     "105-Sterling-PDF|192.168.1.105"
@@ -17,7 +17,6 @@ TARGET_LIST=(
     "107-Frigate-NVR|192.168.1.107"
     "108-Paperless-NGX-VM|192.168.1.108|stefan"
     "110-Homeassistant|192.168.1.110"
-    "111-Zoraxy|192.168.1.111"
     "112-n8n|192.168.1.112|stefan"
     "113-Nginx-Proxy-Manager|192.168.1.113|stefan"
     "CX12-Nextcloud-Backup|188.245.170.72||2223"