Skip to content

Respaldo

Los respaldos regulares son esenciales para proteger sus datos del POS. Esta guía cubre estrategias de respaldo para bases de datos tanto de HQ como de tiendas, programación automatizada y procedimientos de restauración.

Respaldo de PostgreSQL con pg_dump

El método principal de respaldo es pg_dump, que crea una instantánea consistente de la base de datos. Para la base de datos de HQ:

bash
pg_dump -h localhost -U pos -d pos_hq -F custom -f respaldo_hq_$(date +%Y%m%d_%H%M%S).dump

Para una base de datos de tienda:

bash
pg_dump -h localhost -U pos -d pos_store -F custom -f respaldo_tienda_$(date +%Y%m%d_%H%M%S).dump

La bandera -F custom produce un volcado en formato personalizado y comprimido que soporta restauración selectiva. Cada archivo de respaldo incluye marca de tiempo para evitar sobrescribir respaldos anteriores.

Respaldos Automatizados con Cron

Configure un trabajo cron para ejecutar respaldos automáticamente. Edite el crontab con crontab -e y agregue:

cron
# Respaldo de base de datos HQ a las 2:00 AM diariamente
0 2 * * * pg_dump -h localhost -U pos -d pos_hq -F custom -f /respaldos/hq/respaldo_$(date +\%Y\%m\%d_\%H\%M\%S).dump

# Retener solo los últimos 30 días de respaldos
0 3 * * * find /respaldos/hq -name "*.dump" -mtime +30 -delete

Cree el mismo patrón para cada base de datos de tienda. Asegúrese de que el directorio /respaldos tenga suficiente espacio en disco y esté en una unidad física separada o un montaje de red diferente al directorio de datos de la base de datos. Los respaldos en la misma unidad que la base de datos no ofrecen protección contra fallas de hardware.

Respaldo Externo

Para recuperación ante desastres, copie los respaldos a una ubicación externa. Puede usar rsync, scp o una herramienta de almacenamiento en la nube como rclone:

bash
# Sincronizar respaldos a un servidor remoto
rsync -az /respaldos/hq/ servidor-respaldo:/pos-respaldos/hq/

# O subir a almacenamiento compatible con S3
rclone sync /respaldos/hq/ s3remoto:pos-respaldos/hq/

Programe las transferencias externas para que se ejecuten después de que se complete el respaldo local. Para datos críticos de HQ, considere ejecutar transferencias externas diariamente. Los respaldos de tiendas pueden transferirse con menos frecuencia ya que los datos de transacciones también se sincronizan con HQ.

Restaurar desde un Respaldo

Para restaurar una base de datos desde un volcado en formato personalizado:

bash
# Eliminar y recrear la base de datos
dropdb -h localhost -U pos pos_hq
createdb -h localhost -U pos pos_hq

# Restaurar el volcado
pg_restore -h localhost -U pos -d pos_hq respaldo_hq_20260310_020000.dump

Después de restaurar, reinicie el servidor HQ o el servidor de la tienda para reconectar a la base de datos. Para bases de datos de tiendas, una restauración puede activar una re-sincronización de datos que fueron generados después de que se tomó el respaldo. El motor de sincronización maneja esto automáticamente comparando marcas de tiempo.

Mejores Prácticas

  • Pruebe sus respaldos regularmente. Restaure un respaldo en una base de datos separada y verifique que los datos estén intactos. Un respaldo que nunca se ha probado no es un respaldo.
  • Respalde antes de actualizaciones. Siempre tome un respaldo manual antes de aplicar actualizaciones del sistema o migraciones de base de datos.
  • Monitoree el tamaño de los respaldos. Una disminución repentina en el tamaño del archivo de respaldo puede indicar un problema. Configure alertas si los tamaños caen por debajo de los umbrales esperados.
  • Cifre respaldos sensibles. Si los respaldos contienen datos de clientes sujetos a regulaciones de privacidad, cifre los archivos antes de transferirlos externamente. Use gpg o la herramienta de cifrado aprobada por su organización.