#!/bin/bash # Variablen WEBDAV_USER="tim.schilling@koenigsbrunn.de" WEBDAV_PASS="HgdKS-P2004!" WEBDAV_URL="https://www.kommsafe.de/webdav/Stadt%20K%C3%B6nigsbrunn/IuK/KITL-VaultWarden%20Backups" RCLONE_CONFIG="/root/.config/rclone/rclone.conf" # Farben für die Ausgabe GREEN="\033[0;32m" RED="\033[0;31m" NC="\033[0m" # Keine Farbe # Funktion zur Ausgabe von Meldungen function log() { echo -e "${GREEN}[INFO] $1${NC}" } function error() { echo -e "${RED}[ERROR] $1${NC}" } # Sicherstellen, dass das Skript als root ausgeführt wird if [[ $EUID -ne 0 ]]; then error "Dieses Skript muss als root ausgeführt werden!" exit 1 fi # Installiere rclone, falls nicht vorhanden if ! command -v rclone &> /dev/null; then log "rclone wird installiert..." apt update && apt install -y rclone || { error "Fehler bei der Installation von rclone!"; exit 1; } else log "rclone ist bereits installiert." fi # Verschlüsseltes Passwort generieren log "Verschlüssele das WebDAV-Passwort..." ENCRYPTED_PASSWORD=$(rclone obscure "$WEBDAV_PASS") if [[ -z "$ENCRYPTED_PASSWORD" ]]; then error "Fehler beim Verschlüsseln des Passworts!" exit 1 fi # Rclone-Konfigurationsdatei erstellen log "Erstelle die rclone-Konfigurationsdatei..." mkdir -p "$(dirname "$RCLONE_CONFIG")" cat < "$RCLONE_CONFIG" [webdav] type = webdav url = $WEBDAV_URL vendor = other user = $WEBDAV_USER pass = $ENCRYPTED_PASSWORD EOF chmod 600 "$RCLONE_CONFIG" log "rclone-Konfiguration gespeichert unter $RCLONE_CONFIG." log "Vorbereitungen abgeschlossen"