32 lines
892 B
Bash
Executable file
32 lines
892 B
Bash
Executable file
#!/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 mariadb-dump \
|
||
--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)."
|