mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 02:51:46 +00:00
feat: adiciona export data-only (*.data.sql.gz) ao backup
Gera um dump adicional com dados puros de todas as tabelas públicas (--data-only --schema=public) para ambos os modos remote e docker. Remove --min-age do rclone para garantir upload imediato do arquivo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,7 @@ mkdir -p "$BACKUP_DIR"
|
||||
|
||||
DUMP_FILE="$BACKUP_DIR/openmonetis_${TIMESTAMP}.dump"
|
||||
SQL_FILE="$BACKUP_DIR/openmonetis_${TIMESTAMP}.sql.gz"
|
||||
DATA_FILE="$BACKUP_DIR/openmonetis_${TIMESTAMP}.data.sql.gz"
|
||||
|
||||
log "Iniciando backup (modo: $DB_MODE)..."
|
||||
|
||||
@@ -68,6 +69,9 @@ if [[ "$DB_MODE" == "remote" ]]; then
|
||||
pg_dump --no-owner --no-privileges \
|
||||
"$REMOTE_DB_URL" | gzip > "$SQL_FILE"
|
||||
|
||||
pg_dump --data-only --schema=public --no-owner --no-privileges \
|
||||
"$REMOTE_DB_URL" | gzip > "$DATA_FILE"
|
||||
|
||||
elif [[ "$DB_MODE" == "docker" ]]; then
|
||||
docker exec "$DOCKER_CONTAINER" pg_dump \
|
||||
-U "$DOCKER_DB_USER" -Fc "$DOCKER_DB_NAME" > "$DUMP_FILE"
|
||||
@@ -75,20 +79,23 @@ elif [[ "$DB_MODE" == "docker" ]]; then
|
||||
docker exec "$DOCKER_CONTAINER" pg_dump \
|
||||
-U "$DOCKER_DB_USER" "$DOCKER_DB_NAME" | gzip > "$SQL_FILE"
|
||||
|
||||
docker exec "$DOCKER_CONTAINER" pg_dump \
|
||||
--data-only --schema=public \
|
||||
-U "$DOCKER_DB_USER" "$DOCKER_DB_NAME" | gzip > "$DATA_FILE"
|
||||
|
||||
else
|
||||
log "ERRO: DB_MODE inválido ('$DB_MODE'). Use 'remote' ou 'docker'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "Dump concluído: $(du -sh "$DUMP_FILE" | cut -f1) (.dump) | $(du -sh "$SQL_FILE" | cut -f1) (.sql.gz)"
|
||||
log "Dump concluído: $(du -sh "$DUMP_FILE" | cut -f1) (.dump) | $(du -sh "$SQL_FILE" | cut -f1) (.sql.gz) | $(du -sh "$DATA_FILE" | cut -f1) (.data.sql.gz)"
|
||||
|
||||
# --- Upload para Google Drive ---
|
||||
if ! command -v rclone &>/dev/null; then
|
||||
log "AVISO: rclone não encontrado. Pulando upload."
|
||||
else
|
||||
rclone copy "$BACKUP_DIR" "$GDRIVE_REMOTE" \
|
||||
--include "openmonetis_*" \
|
||||
--min-age 1s
|
||||
--include "openmonetis_*"
|
||||
log "Upload concluído → $GDRIVE_REMOTE"
|
||||
|
||||
# Limpeza remota
|
||||
|
||||
Reference in New Issue
Block a user