> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/editran-connect-v3.3/administradores/backups.md).

# Backups

La realización de copias de seguridad regulares es esencial para garantizar la recuperación de los datos en caso de fallos, errores de configuración, pérdida de integridad o mantenimiento planificado.

Editran Connect se compone de múltiples elementos que deben ser respaldados de forma conjunta para asegurar una recuperación completa del entorno.

***

## Componentes a respaldar

Estos son los diferentes componentes que se recomienda respaldar, según el componente y las necesidades de su sistema la estrategia podrá ser distinta.

| Componente                 | Descripción                                                                                           |
| -------------------------- | ----------------------------------------------------------------------------------------------------- |
| Base de datos (PostgreSQL) | Contiene toda la información de configuración, usuarios, canales y uso.                               |
| Ficheros de configuración  | Los módulos de core de editran cuentan con dos archivos de configuración que deben ser salvaguardados |
| Ficheros temporales        | Carpeta de trabajos en curso o pendientes.                                                            |
| Logs                       | Archivos de bitácora útiles para auditoría y diagnósticos.                                            |
| Repositorio de binarios    | Carpeta con los JAR/WAR propios del sistema.                                                          |
| Archivo de licencia        | archivo de licencia necesario para que Editran funcione                                               |

> ℹ️ *Nota:* Las rutas pueden variar en función de la instalación. Utiliza las variables de entorno configuradas durante la instalación o consulte al equipo de soporte técnico.

***

## Recomendaciones generales

* Realizar copias **automatizadas** fuera del horario operativo. Especialmente cuando no tengas intercambios con otros nodos de Editran.
* Usar herramientas de respaldo compatibles con PostgreSQL (`pg_dump`, `pg_basebackup`).
* Verificar las copias con pruebas de restauración periódicas.
* Proteger el acceso a los ficheros de backup con permisos restrictivos.
* Almacenar al menos una copia externa (por ejemplo, red/NAS/s3).

***

## Ejemplo de backup manual

### 2. Archivos de configuración

Los módulos de core de editran cuentan con varios archivos de configuración que deben ser salvaguardados, son **TODOS** los archivos que están en el directorio `<ruta_instalacion_core>/cfg`. La copia de seguridad de estos archivos deben realizarse cuando efectuamos la copia de seguridad del siguiente punto, sino nos podemos encontrar diferencias que comprometan el backup.

### 1. Base de datos PostgreSQL

Editran cuenta con un motor de base de datos PosgreSQL que se configura y despliega durante el proceso de instalación. Por motivos de seguridad la configuración base de este servidor solo admite peticiones desde el propio servidor de base de datos, esto significa que si quiere realizar copias de seguridad desde un agente externo deberá tener esto en cuenta.

Los datos de conexion a la DDBB los tiene en las variable de usuario creados durante el proceso de instalación:

| VARIABLE          | DESCRIPCIÓN                                       |
| ----------------- | ------------------------------------------------- |
| EDITRAN\_DB\_HOST | servidor de base de datos (por defecto localhost) |
| EDITRAN\_DB\_PORT | puerto de base de datos (por defecto 5432)        |
| EDITRAN\_DB\_PWD  | password de conexión a la base de datos           |
| EDITRAN\_DB\_USER | usuario de conexion a la ddbb                     |

Junto con el motor de base de datos, se instalan las herramientas de administración del mismo, y las tiene disponibles en `<ruta_instalación_connect>/bin/pgsql/bin` (le recomendamos incluirlo en la variable PATH de los usuario de SO con los que ejecute sus rutinas de backup).

En este punto puede realizar diferentes extrategias con las herramientas instaladas, nosotros vamos a describir un método pero hay mas.

Para hacer un backup los datos vamos a usar las herramientas de postgreSQL que se incluyen dentro de la instalación de Connect, para ello si lo hicieses manualmente tendrías que dar los siguientes pasos:

1. El servicio de **DATA** de **Editran Connect** debe estar arrancado
2. abrimos una cmd de windows en el servidor.
3. vamos a la ruta \<directorio\_instalacion\_connect>\bin\pgsql\bin
4. ejecutamos el comando pg\_dumpall -U postgres > backup.sql
5. esto tardará unos segundos y tendremos el archivo backup.sql dentro del directorio \<directorio\_instalacion\_connect>\bin\pgsql\bin

**Aquí tienes un ejemplo de proceso .bat para realizar el backup**:

```cmd
@echo off
setlocal

:: Definir fecha en formato YYYYMMDD
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd"') do set "DATESTR=%%i"

:: Ruta del pg_dumpall
set "PG_BIN=C:\EditranConnect\bin\pgsql\bin"
set "BACKUP_DIR=C:\backup"
set "FILENAME=backup_editran_%DATESTR%.sql"
set "FULLPATH=%BACKUP_DIR%\%FILENAME%"

:: Verificar que el directorio de backup existe
if not exist "%BACKUP_DIR%" (
    echo El directorio de backup no existe: %BACKUP_DIR%
    exit /b 1
)

:: Verificar que las variables de entorno necesarias están definidas
if "%EDITRAN_DB_USER%"=="" (
    echo ERROR: La variable de entorno EDITRAN_DB_USER no está definida.
    exit /b 1
)

if "%EDITRAN_DB_PWD%"=="" (
    echo ERROR: La variable de entorno EDITRAN_DB_PWD no está definida.
    exit /b 1
)

:: Establecer la variable de entorno PGPASSWORD solo en el entorno del script
set "PGPASSWORD=%EDITRAN_DB_PWD%"

:: Ejecutar el backup
"%PG_BIN%\pg_dumpall.exe" -U %EDITRAN_DB_USER% > "%FULLPATH%"
if errorlevel 1 (
    echo ERROR: El comando pg_dumpall falló.
    exit /b 1
)

echo Backup completado exitosamente: %FULLPATH%

:: Limpiar variables sensibles
set "PGPASSWORD="
endlocal
```

## Ejemplo Restore backup PostgreSQL

aquí tienes un ejemplo de como realizar un restore. Te recomendamos enérgicamente que hagas pruebas de restore antes de poner el servidor en producción.

```cmd
@echo off
setlocal

:: Archivo de backup a restaurar (puedes cambiarlo por otro nombre o pasarlo como parámetro)
set "BACKUP_FILE=C:\backup\backup_editran_YYYYMMDD.sql"

:: Ruta del binario psql
set "PG_BIN=C:\EditranConnect\bin\pgsql\bin"

:: Verificar que el archivo existe
if not exist "%BACKUP_FILE%" (
    echo ERROR: No se encuentra el archivo de backup: %BACKUP_FILE%
    exit /b 1
)

:: Verificar variables de entorno necesarias
if "%EDITRAN_DB_USER%"=="" (
    echo ERROR: La variable de entorno EDITRAN_DB_USER no está definida.
    exit /b 1
)

if "%EDITRAN_DB_PWD%"=="" (
    echo ERROR: La variable de entorno EDITRAN_DB_PWD no está definida.
    exit /b 1
)

:: Establecer la contraseña en la variable de entorno PGPASSWORD
set "PGPASSWORD=%EDITRAN_DB_PWD%"

:: Ejecutar la restauración
type "%BACKUP_FILE%" | "%PG_BIN%\psql.exe" -U %EDITRAN_DB_USER% -h localhost -p 5432 -d postgres
if errorlevel 1 (
    echo ERROR: El restore falló.
    exit /b 1
)

echo Restauración completada exitosamente desde: %BACKUP_FILE%

:: Limpiar
set "PGPASSWORD="
endlocal
```

recuerde que tambien debe restarurar los archivos .cfg descritos anteriormente y que deben ser del mismo momento.

## Otros archivos

### Archivo de licencia

El archivo de licencia (licencia.dat) de Editran, que durante el proceso de instalación dejó en `<ruta_core>\bin\SL` es necesario para que su Editran pueda operar, aunque el equipo de Editran puede proporcionarle uno nuevo le recomendamos que haga un backup.

### logs

Editran Connect genera dos grandes colecciones de logs

* logs de core, que están en el directorio `<ruta_core>\log`
* logs de connect, que están en el directorio `<ruta_connect>\logs`

si en caso de desastre quiere poder hacer un análisis posterior, le recomendamos guardar los últimos logs de ambas rutas.

## Seguridad del backup

* Cifra tus backups
* Limita el acceso de lectura al grupo de administradores.
* Realiza rotación de backups y borrado seguro de copias antiguas.
* Realiza pruebas de restore periódicamente

## Aviso

> ⚠️ **Aviso** El equipo de desarrollo de Editran proporciona esta guia y los scripts aquí detallados como guia y ejemplo para que los administradores de sistemas conozcan los datos necesario para realizar copias de seguridad. Es responsabilidad de los administradores de cada instalación realizar los backups y las pruebas de restore pertinentes para poder recuperar su sistema en caso de desastre.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/editran-connect-v3.3/administradores/backups.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
