Config-Backup 2026-03-28 17:01:42
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
This commit is contained in:
47
root/dokuwiki_backup/backup_rsit.sh
Executable file
47
root/dokuwiki_backup/backup_rsit.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# ===== Konfiguration =====
|
||||
SOURCE="/root/docker/dokuwiki/data" # Root von DokuWiki (enthält data/)
|
||||
BACKUPDIR="/root/dokuwiki_backup"
|
||||
REMOTE_USER="backupuser"
|
||||
REMOTE_HOST="backupserver"
|
||||
REMOTE_PATH="/remote/backup/path"
|
||||
RETENTION_DAYS=14
|
||||
|
||||
DATE=$(date +%F)
|
||||
ARCHIVE="dokuwiki-rsit-$DATE.tar.gz"
|
||||
HASHFILE="$ARCHIVE.sha256"
|
||||
|
||||
# Nur diese Teilpfade sichern (relativ zu $SOURCE)
|
||||
INCLUDE_PATHS=(
|
||||
"data/meta/rsit"
|
||||
"data/media/rsit"
|
||||
"data/pages/rsit"
|
||||
)
|
||||
|
||||
# ===== Vorbereitung =====
|
||||
mkdir -p "$BACKUPDIR"
|
||||
|
||||
# ===== Prüfen, ob alle Pfade existieren (sonst hart abbrechen) =====
|
||||
for p in "${INCLUDE_PATHS[@]}"; do
|
||||
if [[ ! -d "$SOURCE/$p" ]]; then
|
||||
echo "FEHLER: Verzeichnis fehlt: $SOURCE/$p" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# ===== Archiv erstellen (Struktur bleibt erhalten) =====
|
||||
tar -czf "$BACKUPDIR/$ARCHIVE" -C "$SOURCE" "${INCLUDE_PATHS[@]}"
|
||||
|
||||
# ===== 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-rsit-*.tar.gz" -delete
|
||||
find "$BACKUPDIR" -type f -mtime +"$RETENTION_DAYS" -name "dokuwiki-rsit-*.sha256" -delete
|
||||
33
root/dokuwiki_backup/backup_wiki.sh
Executable file
33
root/dokuwiki_backup/backup_wiki.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user