#!/bin/bash set -euo pipefail # ===== Konfiguration ===== SOURCE="/root/docker/dokuwiki" BACKUPDIR="/root/dokuwiki_backup" REMOTE_USER="backupuser" REMOTE_HOST="backupserver" REMOTE_PATH="/remote/backup/path" RETENTION_DAYS=14 DATE=$(date +%F) ARCHIVE="dokuwiki-$DATE.tar.gz" HASHFILE="$ARCHIVE.sha256" # ===== Vorbereitung ===== mkdir -p "$BACKUPDIR" # ===== Archiv erstellen ===== tar -czf "$BACKUPDIR/$ARCHIVE" \ -C "$SOURCE" data # ===== Hash erzeugen ===== cd "$BACKUPDIR" sha256sum "$ARCHIVE" > "$HASHFILE" # ===== Upload ===== # rsync -avz "$ARCHIVE" "$HASHFILE" \ # "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}/" # ===== Alte Backups lokal löschen ===== find "$BACKUPDIR" -type f -mtime +"$RETENTION_DAYS" -name "dokuwiki-*.tar.gz" -delete find "$BACKUPDIR" -type f -mtime +"$RETENTION_DAYS" -name "dokuwiki-*.sha256" -delete