#!/bin/bash # Steuerkram – Backup-Script # GoBD: Datensicherung muss regelmäßig erfolgen. # Usage: ./scripts/backup.sh set -e TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="./backups" mkdir -p "$BACKUP_DIR" echo "Erstelle Backup $TIMESTAMP..." # MariaDB Dump (aus dem Container) docker compose exec -T db mysqldump \ --user=steuerkram \ --password=steuerkram \ --single-transaction \ --routines \ --triggers \ steuerkram > "$BACKUP_DIR/steuerkram_db_$TIMESTAMP.sql" # Uploads sichern tar -czf "$BACKUP_DIR/steuerkram_uploads_$TIMESTAMP.tar.gz" ./uploads/ echo "Backup abgeschlossen:" echo " DB: $BACKUP_DIR/steuerkram_db_$TIMESTAMP.sql" echo " Uploads: $BACKUP_DIR/steuerkram_uploads_$TIMESTAMP.tar.gz" # Alte Backups löschen (älter als 90 Tage) find "$BACKUP_DIR" -name "steuerkram_*" -mtime +90 -delete echo "Alte Backups bereinigt (>90 Tage)."