Files
color_full/scripts/backup-db.sh

25 lines
776 B
Bash
Raw Permalink Normal View History

#!/bin/bash
set -euo pipefail
BACKUP_DIR="${BACKUP_DIR:-/var/backups/colorfull}"
RETENTION_DAYS="${RETENTION_DAYS:-7}"
DB_CONTAINER="${DB_CONTAINER:-colorfull-db}"
DB_NAME="${DB_NAME:-colorfull}"
DB_USER="${DB_USER:-colorfull}"
mkdir -p "$BACKUP_DIR"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/colorfull_${TIMESTAMP}.sql.gz"
echo "[$(date)] Starting backup to $BACKUP_FILE"
docker exec "$DB_CONTAINER" pg_dump -U "$DB_USER" "$DB_NAME" | gzip > "$BACKUP_FILE"
echo "[$(date)] Backup complete: $(ls -lh "$BACKUP_FILE" | awk '{print $5}')"
find "$BACKUP_DIR" -name "colorfull_*.sql.gz" -mtime +"$RETENTION_DAYS" -delete
echo "[$(date)] Cleaned up backups older than $RETENTION_DAYS days"
echo "[$(date)] Current backups: $(ls "$BACKUP_DIR" | wc -l) files"