#!/bin/sh set -eu BACKUP_DIR="${BACKUP_DIR:-./backups}" UPLOAD_DIR="${UPLOAD_DIR:-./storage/uploads}" RETENTION_DAYS="${BACKUP_RETENTION_DAYS:-14}" DATABASE_URL_VALUE="${DATABASE_URL:-}" STAMP="$(date +%Y%m%d-%H%M%S)" mkdir -p "$BACKUP_DIR" if [ -z "$DATABASE_URL_VALUE" ]; then echo "DATABASE_URL nao configurada." >&2 exit 1 fi pg_dump "$DATABASE_URL_VALUE" > "$BACKUP_DIR/db-$STAMP.sql" if [ -d "$UPLOAD_DIR" ]; then tar -czf "$BACKUP_DIR/uploads-$STAMP.tar.gz" -C "$UPLOAD_DIR" . else echo "UPLOAD_DIR nao existe; pulando copia de uploads." >&2 fi find "$BACKUP_DIR" -type f -mtime +"$RETENTION_DAYS" -name 'db-*.sql' -delete find "$BACKUP_DIR" -type f -mtime +"$RETENTION_DAYS" -name 'uploads-*.tar.gz' -delete echo "Backup concluido em $BACKUP_DIR"