Respaldos y restauración
Protege tus datos con respaldos automáticos. sh0 es compatible con destinos de almacenamiento local, S3 y Cloudflare R2 con políticas de retención configurables y restauración con un solo clic.
Respaldos manuales
Puedes activar un respaldo en cualquier momento desde la página de detalle de la base de datos. Los respaldos manuales usan las mismas herramientas de volcado específicas del motor que los respaldos programados.
- Navega a tu base de datos dentro del stack.
- Haz clic en la pestaña Respaldos.
- Haz clic en Respaldar ahora.
- Selecciona un destino de almacenamiento (o usa el predeterminado).
- El respaldo se ejecuta en segundo plano -- puedes seguir trabajando.
sh0 usa la utilidad de volcado nativa de cada motor para garantizar respaldos consistentes:
| Motor | Herramienta de respaldo | Formato |
|---|---|---|
| PostgreSQL | pg_dump | Formato personalizado (.dump) o SQL |
| MySQL / MariaDB | mysqldump | SQL (.sql.gz) |
| MongoDB | mongodump | Archivo BSON (.archive) |
| Redis | Instantánea RDB | Archivo RDB (.rdb) |
Respaldos programados
Configura respaldos automáticos que se ejecutan según una programación. sh0 usa expresiones cron para máxima flexibilidad.
- Abre la pestaña Respaldos de la base de datos.
- Haz clic en Configurar programación.
- Ingresa una expresión cron o selecciona un preset (diario, cada 6 horas, semanal).
- Elige el destino de almacenamiento.
- Establece una política de retención.
- Haz clic en Guardar.
Expresiones cron
Las programaciones de respaldo usan sintaxis cron estándar de 5 campos. Estos son los patrones comunes:
# Every day at 2:00 AM
0 2 * * *
# Every 6 hours
0 */6 * * *
# Every Sunday at midnight
0 0 * * 0
# Every hour
0 * * * *
# Monday to Friday at 3:30 AM
30 3 * * 1-5Destinos de almacenamiento
Los respaldos se pueden almacenar localmente en el servidor o subirse a almacenamiento de objetos en la nube. Se recomienda encarecidamente el uso de almacenamiento remoto para recuperación ante desastres.
Almacenamiento local
Por defecto, los respaldos se almacenan en el sistema de archivos local del servidor. Esta es la opción más sencilla, pero no ofrece protección contra fallas de disco o pérdida del servidor.
/var/lib/sh0/backups/<stack-name>/<database-name>/Almacenamiento compatible con S3
sh0 es compatible con cualquier proveedor de almacenamiento de objetos compatible con S3, incluyendo AWS S3, Cloudflare R2, MinIO, Backblaze B2 y DigitalOcean Spaces.
Para configurar un proveedor de almacenamiento:
- Ve a Configuración → Proveedores de almacenamiento.
- Haz clic en Agregar proveedor.
- Ingresa la URL del endpoint, la clave de acceso, la clave secreta, el nombre del bucket y la región.
- Haz clic en Probar conexión para verificar el acceso.
- Haz clic en Guardar.
https://<account-id>.r2.cloudflarestorage.com.Retención
Una programación conserva un número acotado de copias para su origen. El valor que fija es un número de copias a conservar, no un número de días. La retención solo cuenta las copias creadas por esa programación: las copias manuales nunca se cuentan ni se eliminan, y cuando un origen tiene varias programaciones, cada una purga únicamente las suyas. El valor predeterminado es 7, y 0 significa ilimitado: ninguna eliminación automática.
| Ajuste | Descripción |
|---|---|
| Número conservado | Cuántas copias programadas completadas conservar para este origen. Lo que exceda esa cantidad es lo que una purga eliminaría. |
| Copias manuales | Nunca se cuentan para el número conservado ni se eliminan automáticamente. |
| Valor igual o menor que 0 | Desactiva la purga para esa programación. |
Restaurar desde un respaldo
Restaurar un respaldo reemplaza el contenido actual de la base de datos con los datos del respaldo. sh0 se encarga de detener la base de datos, restaurar los datos y reiniciar el contenedor.
- Abre la pestaña Respaldos de la base de datos.
- Busca el respaldo que deseas restaurar en la lista del historial.
- Haz clic en el botón Restaurar junto al respaldo.
- Confirma la operación de restauración en el diálogo.
- Espera a que la restauración se complete -- la base de datos estará temporalmente no disponible.
Historial y estado de respaldos
La tabla de historial de respaldos muestra todos los respaldos de una base de datos, incluyendo su estado, tamaño, duración y ubicación de almacenamiento.
Cada respaldo puede tener uno de los siguientes estados:
- Completado -- El respaldo finalizó exitosamente y está disponible para restaurar.
- En progreso -- El respaldo se está ejecutando actualmente.
- Fallido -- El respaldo encontró un error. Haz clic en la entrada para ver el mensaje de error.
- Expirado -- El respaldo fue eliminado por la política de retención.
También puedes descargar los respaldos completados directamente desde el panel de control para almacenamiento sin conexión o migración a otro servidor.