51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
source /home/nico/backup/lib.sh
|
|
|
|
# ================================
|
|
# Einstellungen
|
|
# ================================
|
|
VAULTWARDEN_CONTAINER="vaultwarden"
|
|
BACKUP_DIR="/home/nico/backup/tmp/vaultwarden_backups"
|
|
REMOTE="onedrive-tdhaider:/IONOS/Backups"
|
|
DATE=$(date +%F_%H-%M-%S)
|
|
|
|
# ================================
|
|
# Backup-Ordner vorbereiten
|
|
# ================================
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# ================================
|
|
# Vaultwarden Dateien sichern
|
|
# ================================
|
|
log "📦 Backup starte für Vaultwarden..."
|
|
|
|
docker run --rm \
|
|
-v vaultwarden-data:/data \
|
|
-v "$BACKUP_DIR":/backup \
|
|
alpine \
|
|
tar czf /backup/vaultwarden-backup-$DATE.tar.gz -C /data . \
|
|
|| fail "Fehler beim Backup von Vaultwarden!"
|
|
|
|
log "✅ Vaultwarden erfolgreich gesichert"
|
|
|
|
# ================================
|
|
# Upload auf OneDrive
|
|
# ================================
|
|
log "☁️ Lade Vaultwarden Backup zu OneDrive hoch ..."
|
|
upload "$BACKUP_DIR/vaultwarden-backup-$DATE.tar.gz" "$REMOTE/vaultwarden"
|
|
log "✅ Upload abgeschlossen!"
|
|
|
|
# ================================
|
|
# Alte Backups löschen (nur letzte 14 behalten)
|
|
# ================================
|
|
cleanup_keep_latest "$REMOTE/vaultwarden" 14
|
|
log "✅ Cleanup abgeschlossen!"
|
|
|
|
# ================================
|
|
# Lokale Backups aufräumen
|
|
# ================================
|
|
[[ -d "$BACKUP_DIR" ]] && rm -rf "$BACKUP_DIR"
|
|
log "🧹 Lokale temporäre Backups gelöscht."
|
|
|
|
log "🏁 Vaultwarden Backup abgeschlossen!" |