Ir al contenido

Instalación

Todo se instala en /opt/backup/. Los paquetes vienen del repositorio restringido de NGBackup en get.ngbackup.com - la cuenta del repositorio se crea gratis en ngbackup.com/get-repo.html (la misma contraseña autentica el sitio web y el repositorio).

Tras registrarte, la página de tu cuenta muestra este comando con tus credenciales rellenadas - ejecútalo en la máquina que quieres configurar:

Ventana de terminal
curl -fsSL https://get.ngbackup.com/install.sh | sudo bash

Un asistente pide el login del repositorio y el papel de esta máquina:

RolLo que obtienes
Servidor completoDirector + Storage + Client + console CLI + Web Console en un host
Nodo de storageStorage Daemon, enrolado con tu Director automáticamente
Solo clienteFile Daemon, enrolado con tu Director automáticamente

más los plugins (PostgreSQL, MySQL, Oracle, MSSQL, MongoDB, Firebird, ADABAS, Microsoft 365, Nutanix, CloudStack, Proxmox, SFTP, vSphere, Granular Restore) y drivers de almacenamiento en la nube (S3, Azure, GCS, OCI).

Un servidor completo también instala el Web Console, una interfaz de navegador en el puerto 9180. Necesita una configuración única (una base de datos Postgres y una edición de env) que el instalador imprime al final. Luego: systemctl enable --now backupweb y abre http://<host>:9180 (primer inicio de sesión admin / admin). Usa --no-web para omitirlo, o --web para forzarlo en un rol que no sea servidor.

En los papeles Storage y Cliente el instalador ejecuta el enrollment abierto: pide solo la dirección del Director y un nombre para este nodo, el daemon se registra solo sobre TLS, ambos lados sellan la contraseña compartida, se abre el puerto del firewall (9102/9103), y el servicio systemd (ngbackup-fd / ngbackup-sd) se instala y habilita. Sin token que generar o pegar. Volver a ejecutarlo actualiza los paquetes; un daemon ya enrolado no se toca.

Uso en flota / no interactivo - pasa la dirección del Director y un nombre:

Ventana de terminal
curl -fsSL https://get.ngbackup.com/install.sh | sudo bash -s -- \
--user [email protected] --pass 'CONTRASEÑA-REPO' --role client \
--director dir.example.com:9101 --name web-01

Soportado hoy: RHEL/Rocky/Alma 9, Debian 12 (bookworm), Ubuntu 22.04 (jammy) / 24.04 (noble). Clientes Windows: ver Proteger otra máquina abajo.

¿Prefieres gestionar las fuentes tú mismo? Tras iniciar sesión, la página del repositorio en get.ngbackup.com muestra fragmentos listos de apt y dnf (clave de firma, fuentes por módulo, credenciales fuera de las URLs). El paquete principal es ngbackup (Director + Storage Daemon + File Daemon + console + herramienta de secretos); los plugins son ngbackup-plugin-<nombre> y los drivers de nube ngbackup-cloud-driver-<nombre>.

El instalador de un comando (papel Servidor completo) hace toda la configuración; no hay pasos manuales:

Ventana de terminal
curl -fsSL https://get.ngbackup.com/install.sh | sudo bash -s -- \
--user [email protected] --pass 'PASSWORD-REPO' --role server --web

En un servidor completo el post-install del paquete ngbackup-dir automáticamente: provisiona el catálogo PostgreSQL (crea el rol + la base ngbackup y construye el esquema con backup-dbutil), rellena las configuraciones con secretos generados, arranca los servicios Director, Storage Daemon y File Daemon, y con --web levanta la consola web (su propia base, migrada, usuario admin sembrado) en http://<host>:9180 (entra como admin / admin, cámbialo al primer inicio).

PostgreSQL es el backend de catálogo de producción. (Los backends MySQL/MariaDB y SQLite están implementados y probados, pero no son seleccionables en el build distribuido - disponibles bajo pedido.)

Para reprovisionar el catálogo a mano (p. ej. contra una base remota), apunta el bloque Catalog{} de /opt/backup/etc/backup-dir.conf a ella y ejecuta:

Ventana de terminal
sudo -u postgres /opt/backup/bin/backup-dbutil create-database -c /opt/backup/etc/backup-dir.conf
sudo -u postgres /opt/backup/bin/backup-dbutil grant-privileges -c /opt/backup/etc/backup-dir.conf
/opt/backup/bin/backup-dbutil make-tables -c /opt/backup/etc/backup-dir.conf

La configuración vive en /opt/backup/etc/:

ArchivoServicio
backup-dir.confDirector
backup-sd.confStorage Daemon
backup-fd.confFile Daemon
backup-console.confConsole

Valida una configuración antes de arrancar el servicio:

Ventana de terminal
/opt/backup/bin/backup-dir -t -c /opt/backup/etc/backup-dir.conf

En instalaciones por paquete, el post-instalación genera las contraseñas de los daemons, las escribe directamente en los archivos .conf (modo 640, root:backup) y guarda una copia en /opt/backup/etc/.ngbackup-secrets (modo 600). Trata todo el directorio /opt/backup/etc/ como sensible. El almacén sellado de secretos (referencias @secret: en los configs, desbloqueado por /opt/backup/etc/master.key - ver Secretos y configuración cifrada) está soportado por todos los daemons y por backup-dbutil, pero las instalaciones por paquete aún no sellan por defecto.

Los Storage y Clientes enrolados por los asistentes corren como servicios systemd ngbackup-sd / ngbackup-fd. Para el Director en un servidor completo, confirma que responde:

Ventana de terminal
/opt/backup/bin/backup-dir -c /opt/backup/etc/backup-dir.conf &
/opt/backup/bin/backup-console
* status director

(Puertos: Director 9101; File Daemon 9102; Storage Daemon 9103; Web Console 9180.)

En cada máquina a proteger, el papel Solo cliente del instalador de un comando lo hace todo: paquetes, enrollment (el Director crea el Client automáticamente, ambos lados sellan la contraseña compartida), firewall, servicio. Sin editar configuración, sin contraseñas a mano.

  • Linux - curl -fsSL https://get.ngbackup.com/install.sh | sudo bashSolo cliente. (O ejecuta el asistente incluido: sudo /opt/backup/bin/install-ngbackup-fd.sh.)
  • Windows - ejecuta el asistente gráfico (NGBackup-fd-Setup-<versión>-win64.exe desde get.ngbackup.com/windows/x64/): la página Connect tiene dos campos, Director enrollment endpoint (host:port) y Name for this client. Instala el servicio, abre el firewall y hace el enroll. Sin línea de comandos. Silencioso: NGBackup-fd-Setup.exe /S /DIRECTOR=dir.example.com:9101 /NAME=web-01.

O enrola por línea de comandos tras instalar los paquetes - da la dirección del Director y un nombre, sin token:

Ventana de terminal
backup-fd --enroll --director dir.example.com:9101 --name web-01
backup-fd # arranca el daemon (el modo daemon es el predeterminado)

Un nodo de storage es el mismo procedimiento con backup-sd y sus flags opcionales de dispositivo de disco:

Ventana de terminal
backup-sd --enroll --director dir.example.com:9101 --name store-01 \
--archive-device /opt/backup/storage --rw-devices 10 --ro-devices 2

Esto es el enrollment abierto: el daemon presenta solo el nombre sobre TLS y el Director crea el recurso. Viene activado por defecto (AllowOpenEnrollment = yes en el recurso Director). Pon esa directiva en no para exigir un token pre-generado - ver Operate → Node enrollment para la vía por token.

El enrollment corre sobre TLS, así que configura TlsCertificate/TlsKey en el Director; sin un certificado el handshake es rechazado. Pasa --director-fingerprint <sha256> para fijar ese certificado, u omítelo para trust-on-first-use.

Ver Operate → Node enrollment para el flujo completo. El enrollment crea el Client o Storage por ti - no se añade uno a mano.

Al descargar, instalar o usar NGBackup aceptas el Acuerdo de Licencia de Usuario Final y Términos de Confidencialidad. Instalar el software constituye aceptación.

  • La edición gratuita / comunitaria se ofrece tal cual, sin soporte, sin garantía y sin responsabilidad. El soporte y las garantías pagas, si los hay, solo están disponibles bajo una suscripción comercial separada.
  • NGBackup es software propietario, licenciado no vendido. El software, tus credenciales del repositorio y la documentación no pública son confidenciales y no deben compartirse ni redistribuirse.
  • La ingeniería inversa (salvo donde la ley lo permita expresamente) y cualquier uso destinado a dañar el proyecto están prohibidos.

El instalador de un comando muestra este aviso y registra tu aceptación (las ejecuciones interactivas confirman con accept; las automatizadas pasan --accept-eula).

Siguiente: lanza tu primer backup en Getting started.