26 lines
767 B
Bash
26 lines
767 B
Bash
#!/bin/bash
|
|
# MariaDB Backup Script - läuft als Endlos-Schleife im Container
|
|
BACKUP_DIR="/backups"
|
|
RETENTION_DAYS=7
|
|
|
|
while true; do
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
FILENAME="${BACKUP_DIR}/strichliste_${TIMESTAMP}.sql.gz"
|
|
|
|
echo "[$(date)] Starting backup..."
|
|
mariadb-dump -h db -u strichliste -pstrichliste --single-transaction --skip-lock-tables strichliste | gzip > "${FILENAME}"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "[$(date)] Backup saved: ${FILENAME}"
|
|
else
|
|
echo "[$(date)] Backup FAILED"
|
|
fi
|
|
|
|
# Alte Backups löschen
|
|
find ${BACKUP_DIR} -name "strichliste_*.sql.gz" -mtime +${RETENTION_DAYS} -delete
|
|
echo "[$(date)] Cleaned up backups older than ${RETENTION_DAYS} days"
|
|
|
|
# 24 Stunden warten
|
|
sleep 86400
|
|
done
|