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
|
||||
|
||||
# === Variablen ===
|
||||
LOGDIR="/tmp/skript-logs"
|
||||
LOGFILE="$LOGDIR/$(basename "$0" .sh)_$(date +'%Y-%m-%d').log"
|
||||
|
||||
# Funktion zum Protokollieren von Nachrichten
|
||||
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