Saltar a contenido

Copia de seguridad de la base de datos

La copia de PostgreSQL conserva los datos de Watcher. Créela antes de actualizar, migrar el servidor o cambiar la configuración. Pruebe la restauración en otra base: la existencia del archivo no demuestra que sea recuperable.

La copia no incluye vídeo en discos ni configuración de los servidores. Guárdelos por separado. Una restauración completa necesita versiones compatibles de paquetes, configuración de Watcher y Central y acceso al almacenamiento anterior del archivo.

Las órdenes siguientes corresponden a una instalación Linux por paquetes y se ejecutan como root. El script lee DB de /etc/watcher/watcher.conf. Necesita utilidades cliente de PostgreSQL; instale un postgresql-client compatible si faltan.

Crear una copia

Script incluido:

/opt/flussonic/bin/watcher-backup.sh create

También está disponible /opt/flussonic/contrib/watcher backup create. Crea un volcado PostgreSQL en formato custom, comprimido además con gzip. Por defecto aparece en /var/lib/flussonic-watcher/backups/ como watcher_dump_YYYYMMDD_HHMMSS.bak.gz.

Tras el mensaje de éxito, compruebe el archivo:

gzip -t /var/lib/flussonic-watcher/backups/watcher_dump_20261103_050000.bak.gz
gzip -dc /var/lib/flussonic-watcher/backups/watcher_dump_20261103_050000.bak.gz \
  | pg_restore --list > /var/lib/flussonic-watcher/backups/restore-list.txt

Sustituya el nombre por el real. La primera orden comprueba la compresión; la segunda, la estructura del volcado. La prueba definitiva consiste en restaurarlo en otra base de prueba y leer los datos de la aplicación.

La creación usa pg_dump y no detiene Watcher. Para una migración sin pérdida de cambios recientes, haga la copia final tras impedir modificaciones en el servidor antiguo.

Restaurar una copia

La restauración reemplaza todos los datos de destino. El script detiene Watcher y Central, vacía los esquemas de usuario y carga el volcado. Está previsto para PostgreSQL local de la instalación por paquetes: comprueba la existencia de la base como usuario de sistema postgres.

Coloque el archivo en el directorio de copias, verifíquelo y confirme que DB señala la base correcta. Indique el archivo explícitamente:

/opt/flussonic/bin/watcher-backup.sh restore watcher_dump_20261103_050000.bak.gz

Se busca en /var/lib/flussonic-watcher/backups/. El script muestra la copia y pide confirmar con y. Sin nombre elige la más reciente; para migración o reversión indique una concreta.

Si funciona, aparece Restore success! y arrancan los servicios. Si falla, permanecen detenidos. Guarde la salida, corrija la causa y repita con una copia verificada; no arranque sobre una base parcialmente restaurada.

Después compruebe:

  • Cuentas y organizaciones — acceso y permisos de un usuario de prueba.
  • Cámaras — configuración y conexión con streamers.
  • Archivo — reproducción de un intervalo anterior desde el almacenamiento disponible.
  • Servicios — ausencia de errores de arranque y conexión a la base.

Esto difiere de una actualización del esquema: el instalador ejecuta migraciones para la versión instalada. Compruebe la correspondencia entre versión de copia y aplicación antes de arrancar.

Ejemplo de programación de copias

Cree una tarea de root en /etc/cron.d/watcher-backup:

0 5 * * * root /opt/flussonic/bin/watcher-backup.sh create >> /var/log/watcher-backup.log 2>&1

Se ejecuta diariamente a las 05:00 del servidor. Compruebe zona horaria con timedatectl y que cron esté activo. Supervise resultados y espacio: el script no elimina copias antiguas automáticamente según un calendario.

Restrinja acceso al directorio y registro: contienen datos de usuarios. Verifique tanto la ejecución como un archivo comprobado para la fecha requerida.

Copiar a un servidor externo

Guarde copias separadas de la base operativa y del disco del sistema. Organice transferencia a su almacenamiento de seguridad y retención. Verifique la suma de comprobación tras transferir y pruebe restauraciones periódicas.

Conserve aparte /etc/watcher, /etc/central y, donde exista watcher-streamer, /etc/flussonic. Protéjalos de accesos no autorizados. El vídeo necesita otro proceso de copia y no se incluye en el volcado SQL.