Geänderte Dateien: - root/.ssh/config - root/backup-config/backup-config.sh - root/backup-config/run-backup-and-push.sh - root/backup-config/sources.txt - root/dokuwiki_backup/backup_rsit.sh - root/dokuwiki_backup/backup_wiki.sh
34 lines
851 B
Bash
Executable File
34 lines
851 B
Bash
Executable File
#!/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
|