#!/bin/bash # === IMPORTS === SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../Utility/NetworkCheck.sh" source "$SCRIPT_DIR/../Utility/Log.sh" # === Hilfe-Seite === if [[ "$*" == *"-h"* ]]; then echo "Benutzung: $0" echo echo "Dieses Skript muss als root ausgeführt werden! Bsp. sudo $0" echo "Folgende Pakete müssen installiert sein: certbot, nginx" echo echo "Dieses Skript prüft, ob durch Certbot erstellte Zertifikate erneuert werden müssen und tut dies." echo "Danach werden Dienste wie docker, nginx und wings neugestartet." exit 0 fi # === ROOT-PRÜFUNG === if [[ $EUID -ne 0 ]]; then echo "Dieses Skript muss als root ausgeführt werden! Bitte starte es mit sudo." exit 1 fi # === Funktionen === # Funktion zum sauberen Beenden des Skripts cleanup() { log "Prozess abgebrochen" exit 1 } # === Hauptskript === # Protokollieren des Startzeitpunkts log "Zertifikatserneuerung gestartet" # nginx stoppen log "nginx stoppen" output=$(systemctl stop nginx 2>&1) status=$? log "$output" if [ $status -ne 0 ]; then log "Fehler beim Stoppen von nginx" cleanup fi log "nginx gestoppt" # Zertifikat erneuern log "Zertifikatserneuerung gestartet" output=$(certbot renew 2>&1) status=$? log "$output" if [ $status -ne 0 ]; then log "Fehler bei der Zertifikatserneuerung" cleanup fi log "Zertifikatserneuerung abgeschlossen" # Docker neu starten log "Docker wird neu gestartet" output=$(systemctl restart docker 2>&1) status=$? log "$output" if [ $status -ne 0 ]; then log "Fehler beim Neustarten von Docker" cleanup fi log "Docker erfolgreich neu gestartet" # Wings neu starten log "Wings wird neu gestartet" output=$(systemctl restart wings 2>&1) status=$? log "$output" if [ $status -ne 0 ]; then log "Fehler beim Neustarten von Wings" cleanup fi log "Wings erfolgreich neu gestartet" # nginx starten log "nginx starten" output=$(systemctl start nginx 2>&1) status=$? log "$output" if [ $status -ne 0 ]; then log "Fehler beim Starten von nginx" cleanup fi log "nginx gestartet" # Protokollieren des Endzeitpunkts log "Zertifikatserneuerung abgeschlossen"