Project

General

Profile

Tareas #109 » backup_sn_case.sh

Demo MiGestion365 Admin, 08/24/2026 02:50 PM

 
#!/bin/bash

LOG="/home/ingenieria/noc_utility/backup_sn_case.log"

{
echo "=================================="
echo "Inicio: $(date)"
echo "=================================="
set -e

DEV_IP="10.90.1.197"
PROD_IP="10.90.1.198"

SCHEMA="noc_utility"
TABLE="sn_case"

PGUSER="postgres"
PGPASSWORD="post3008"
PGDATABASE="postgres"

TMP_FILE="/tmp/${TABLE}.sql"

echo "Validando ambiente DEV..."

SERVER_IP=$(hostname -I | awk '{print $1}')

if [ "$SERVER_IP" != "$DEV_IP" ]; then
echo "ERROR: Este script sólo puede ejecutarse en DEV ($DEV_IP)"
echo "IP detectada: $SERVER_IP"
exit 1
fi

echo "Servidor DEV validado."

export PGPASSWORD

echo "Generando dump desde PROD..."

pg_dump \
-h "$PROD_IP" \
-U "$PGUSER" \
-d "$PGDATABASE" \
--table="${SCHEMA}.${TABLE}" \
--clean \
--if-exists \
> "$TMP_FILE"

echo "Restaurando en DEV..."

psql \
-h 127.0.0.1 \
-U "$PGUSER" \
-d "$PGDATABASE" \
-f "$TMP_FILE"

echo "Aplicando permisos..."

psql \
-h 127.0.0.1 \
-U "$PGUSER" \
-d "$PGDATABASE" \
-c "GRANT SELECT ON TABLE noc_utility.sn_case TO om_read;"
rm -f "$TMP_FILE"

echo "Proceso finalizado correctamente."


echo "=================================="
echo "Fin: $(date)"
echo "=================================="
} >> "$LOG" 2>&1
    (1-1/1)