Compare commits
5 Commits
f37f91ead9
...
fcb5b666cb
| Author | SHA1 | Date | |
|---|---|---|---|
| fcb5b666cb | |||
| b91331307c | |||
| 12e6cc7e32 | |||
| 50fccc03ab | |||
| af5417c175 |
83
Maintenance/CertbotRenew.sh
Executable file
83
Maintenance/CertbotRenew.sh
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# === IMPORTS ===
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
source "$SCRIPT_DIR/../Utility/NetworkCheck.sh"
|
||||||
|
source "$SCRIPT_DIR/../Utility/Log.sh"
|
||||||
|
|
||||||
|
# === 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"
|
||||||
47
Maintenance/Update.sh
Executable file
47
Maintenance/Update.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# === IMPORTS ===
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
source "$SCRIPT_DIR/../Utility/NetworkCheck.sh"
|
||||||
|
source "$SCRIPT_DIR/../Utility/Log.sh"
|
||||||
|
|
||||||
|
# === 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
|
||||||
|
|
||||||
|
# === Skript-Funktionen ===
|
||||||
|
cleanup() {
|
||||||
|
log "Update-Skript abgebrochen"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
update_packages() {
|
||||||
|
log "Führe 'apt update' aus"
|
||||||
|
apt update |& while IFS= read -r line; do log "$line"; done
|
||||||
|
log "Befehl abgeschlossen"
|
||||||
|
|
||||||
|
log "Führe 'apt upgrade' aus"
|
||||||
|
apt upgrade -y |& while IFS= read -r line; do log "$line"; done
|
||||||
|
log "Befehl abgeschlossen"
|
||||||
|
}
|
||||||
|
|
||||||
|
update_flatpak() {
|
||||||
|
log "Führe 'flatpak update' für alle Nutzer aus"
|
||||||
|
for user in $(getent passwd | awk -F: '$3 >= 1000 && $7 !~ /(\/sbin\/nologin|\/bin\/false|\/usr\/sbin\/nologin)/ { print $1 }'); do
|
||||||
|
sudo -u "$user" flatpak update -y |& while IFS= read -r line; do log "$line"; done
|
||||||
|
log "Befehl 'sudo -u $user flatpak update' abgeschlossen"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# === Hauptskript ===
|
||||||
|
|
||||||
|
trap cleanup SIGINT
|
||||||
|
|
||||||
|
wait_for_internet_connection
|
||||||
|
|
||||||
|
update_packages
|
||||||
|
update_flatpak
|
||||||
|
|
||||||
|
log "Update-Skript beendet"
|
||||||
32
Mount/OneDrive.sh
Executable file
32
Mount/OneDrive.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# === IMPORTS ===
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
source "$SCRIPT_DIR/../Utility/NetworkCheck.sh"
|
||||||
|
source "$SCRIPT_DIR/../Utility/Log.sh"
|
||||||
|
|
||||||
|
# === Variablen ===
|
||||||
|
MOUNT_POINT="/media/OneDrive"
|
||||||
|
PROFILE_NAME="OneDrive"
|
||||||
|
|
||||||
|
# === Hauptskript ===
|
||||||
|
|
||||||
|
wait_for_internet_connection
|
||||||
|
|
||||||
|
if rclone listremotes | grep -q "^${PROFILE_NAME}:"; then
|
||||||
|
mkdir -p "$MOUNT_POINT"
|
||||||
|
if rclone listremotes | grep -q "^${PROFILE_NAME}:"; then
|
||||||
|
mkdir -p "$MOUNT_POINT"
|
||||||
|
|
||||||
|
if rclone mount "${PROFILE_NAME}:" "$MOUNT_POINT" --vfs-cache-mode writes --daemon; then
|
||||||
|
log "${PROFILE_NAME} wurde eingehängt."
|
||||||
|
else
|
||||||
|
log "Fehler beim Ausführen von rclone. Überprüfen Sie die rclone-Konfiguration und versuchen Sie es erneut."
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
log "Kein rclone-Profil mit dem Namen '${PROFILE_NAME}' gefunden."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
log "Kein rclone-Profil mit dem Namen '${PROFILE_NAME}' gefunden."
|
||||||
|
fi
|
||||||
@ -1,6 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# === Variablen ===
|
||||||
|
LOGDIR="/tmp/skript-logs"
|
||||||
|
LOGFILE="$LOGDIR/$(basename "$0" .sh)_$(date +'%Y-%m-%d').log"
|
||||||
|
|
||||||
# Funktion zum Protokollieren von Nachrichten
|
# Funktion zum Protokollieren von Nachrichten
|
||||||
log() {
|
log() {
|
||||||
echo "$(date +'%Y-%m-%d %H:%M:%S') - $1"
|
if [ ! -d "$LOGDIR" ]; then
|
||||||
|
mkdir -p "$LOGDIR"
|
||||||
|
fi
|
||||||
|
if [ ! -f "$LOGFILE" ]; then
|
||||||
|
touch "$LOGFILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOGFILE"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user