Files
Rbm.FamStack/deploy/scripts/backup.sh
T
2026-10-09 18:25:11 +02:00

22 lines
815 B
Bash

#!/usr/bin/env sh
# Erstellt ein Voll-Backup der Datenbank im Volume "sql-backup" und kopiert es zusätzlich nach ./backups.
# Aufruf aus dem Ordner deploy/: ./scripts/backup.sh
set -eu
cd "$(dirname "$0")/.."
. ./.env
STAMP=$(date +%Y%m%d-%H%M%S)
FILE="familyplanner-${STAMP}.bak"
docker compose exec -T sql /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "$SQL_SA_PASSWORD" -C -b \
-Q "BACKUP DATABASE [familyplannerdb] TO DISK = N'/var/opt/mssql/backup/${FILE}' WITH COMPRESSION, CHECKSUM, INIT"
mkdir -p backups
docker compose cp "sql:/var/opt/mssql/backup/${FILE}" "backups/${FILE}"
echo "Backup erstellt: backups/${FILE}"
# Alte Backups im Volume aufräumen (älter als 14 Tage).
docker compose exec -T sql sh -c "find /var/opt/mssql/backup -name 'familyplanner-*.bak' -mtime +14 -delete"