init backup scripts
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
source /home/nico/backup/lib.sh
|
||||
|
||||
# ================================
|
||||
# Einstellungen
|
||||
# ================================
|
||||
CONTAINER="postgresql" # Name deines PostgreSQL-Docker-Containers
|
||||
DB_USER="nico" # PostgreSQL-User
|
||||
BACKUP_DIR="/home/nico/backup/tmp/postgresql_backups" # Temporärer Backup-Pfad auf dem Server
|
||||
REMOTE="onedrive-tdhaider:/IONOS/Backups" # Basisziel auf OneDrive
|
||||
|
||||
DATE=$(date +%F_%H-%M-%S)
|
||||
|
||||
# ================================
|
||||
# Backup-Ordner vorbereiten
|
||||
# ================================
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# ================================
|
||||
# Funktion: Backup einer DB
|
||||
# ================================
|
||||
backup_db() {
|
||||
local DB_NAME=$1
|
||||
local FILE="$BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz"
|
||||
|
||||
log "📦 Backup starte für Datenbank: $DB_NAME ..."
|
||||
docker exec -t "$CONTAINER" pg_dump -U "$DB_USER" "$DB_NAME" | gzip > "$FILE" \
|
||||
|| fail "Fehler beim Backup von $DB_NAME"
|
||||
|
||||
# Upload in eigenen Unterordner
|
||||
log "☁️ Lade $DB_NAME Backup zu OneDrive hoch ..."
|
||||
upload "$FILE" "$REMOTE/postgresql_$DB_NAME"
|
||||
log "✅ Upload abgeschlossen!"
|
||||
|
||||
cleanup_keep_latest "$REMOTE/postgresql_$DB_NAME" 30
|
||||
log "✅ Cleanup abgeschlossen!"
|
||||
}
|
||||
|
||||
# ================================
|
||||
# Datenbanken sichern und hochladen
|
||||
# ================================
|
||||
backup_db "gitea"
|
||||
backup_db "projektverwaltung"
|
||||
|
||||
# ================================
|
||||
# Lokale Backups aufräumen (optional)
|
||||
# ================================
|
||||
[[ -d "$BACKUP_DIR" ]] && rm -rf "$BACKUP_DIR"
|
||||
log "🧹 Lokale temporäre Backups gelöscht."
|
||||
|
||||
log "🏁 Alle Backups abgeschlossen!"
|
||||
Reference in New Issue
Block a user