Files
BitExport/setup.sh
T
Tim Schilling | IuK 2223026a40 V1 pre testing
2024-11-28 10:51:49 +01:00

56 lines
1.3 KiB
Bash

#!/bin/bash
# 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 <<EOF > "$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"