Backup y restauración
Tu app está en producción en vivo. Haz una copia de seguridad. rdc envía tu repositorio completo (app, base de datos, archivos, configuraciones) a almacenamiento externo y lo recupera en cualquier momento. Ransomware, fallos de hardware, cualquier cosa.
Ver el tutorial
Tres pasos
- Configurar un proveedor de almacenamiento.
- Enviar un backup.
- Restaurar cuando lo necesites.
Paso 1: Configurar el almacenamiento
Necesitas un archivo de configuración de rclone. Si ya usas rclone, impórtalo directamente:
rdc config storage import --file rclone.conf Importa una configuración de rclone existente. rclone es compatible con S3, Backblaze, Google Drive, Dropbox y muchos más. Si ya usas rclone, la misma configuración se importa directamente.
Esto soporta S3, B2, Google Drive, Dropbox y muchos más. Verifica qué está configurado:
rdc config storage list Lista los almacenamientos que la CLI ya conoce. Cada uno es un destino para las copias de seguridad.
Paso 2: Enviar un backup
rdc repo push --name my-app -m <machine-name> --to my-storage Envía una copia de seguridad completa. Se sube el repositorio entero, incluyendo la app, la base de datos, los archivos y la configuración. Como el repositorio está cifrado en reposo, la copia de seguridad también está cifrada, sin gestión adicional de claves.
Tu repositorio completo (app, base de datos, archivos, todo) está respaldado ahora. Como el repositorio en sí está cifrado, el backup también está cifrado. Sin gestión de claves adicional.
Lista tus backups en cualquier momento:
rdc repo backup list --from my-storage -m <machine-name> Lista las copias de seguridad disponibles en este almacenamiento. Restaurar en un servidor nuevo es un solo comando: el comando repo pull.
¿Por qué no hay tiempo de inactividad?
La app sigue ejecutándose mientras se sube el backup. ¿Cómo es eso consistente?
La misma lógica que un fork. rdc primero hace un fork y luego sube el fork. El fork captura el momento; tu app en vivo sigue funcionando. Sin tiempo de inactividad, sin inconsistencias.
Paso 3: Restaurar, de verdad
Un backup que nunca restauras es una esperanza, no un backup. Primero detén el repositorio:
rdc repo down --name my-app --machine <machine-name> --unmount Primero, pon el repositorio fuera de línea: detén los servicios y desmonta el volumen cifrado con el comando repo down.
Descarga el backup directamente desde el almacenamiento:
rdc repo pull --name my-app --machine <machine-name> --from my-storage --force --yes Recupera la copia de seguridad del almacenamiento con el comando repo pull. La imagen se descarga y se verifica su integridad.
Y móntalo de nuevo, ya restaurado por completo:
rdc repo mount --name my-app --machine <machine-name> Monta el repositorio de nuevo, está completamente restaurado. El mismo pull funciona en una máquina completamente nueva.
El mismo pull funciona en un servidor nuevo: configúralo, agrégalo a rdc y ejecuta el pull ahí:
rdc repo pull --name my-app -m new-server --from my-storage
rdc repo up --name my-app -m new-server
Mismos datos, los mismos contenedores, una máquina diferente.
Backups más rápidos: de máquina a máquina
También puedes enviar directamente entre máquinas, sin almacenamiento en la nube de por medio:
rdc repo push --name my-app -m my-server --to-machine backup-server
Consejo profesional. Los envíos de máquina a máquina solo transfieren los bloques que cambiaron después del primero. El tutorial de Transferencia delta lo muestra en directo.
Siguiente: Redes y dominios.