diff --git a/.gitignore b/.gitignore index 1214997..d06a593 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ backend/vendor/ # OS .DS_Store +backups/ diff --git a/scripts/backup-db.sh b/scripts/backup-db.sh new file mode 100755 index 0000000..f4f1d64 --- /dev/null +++ b/scripts/backup-db.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# Erstellt ein Backup der Krafttrainer-Datenbank vom Server. +# Verwendung: ./scripts/backup-db.sh [user@host] +# +# Standard-Ziel: christoph@192.168.1.118 +# Backups werden in ./backups/ gespeichert. + +set -euo pipefail + +REMOTE="${1:-christoph@192.168.1.118}" +REMOTE_DB="/home/christoph/fitnesspad/krafttrainer.db" +BACKUP_DIR="$(dirname "$0")/../backups" +TIMESTAMP="$(date +%Y-%m-%d_%H-%M-%S)" +BACKUP_FILE="${BACKUP_DIR}/krafttrainer_${TIMESTAMP}.db" + +mkdir -p "$BACKUP_DIR" + +echo "Backup von ${REMOTE}:${REMOTE_DB} ..." +scp "${REMOTE}:${REMOTE_DB}" "${BACKUP_FILE}" +echo "Gespeichert: ${BACKUP_FILE}" + +# Alte Backups (älter als 30 Tage) löschen +find "$BACKUP_DIR" -name "krafttrainer_*.db" -mtime +30 -delete 2>/dev/null && true