Files
guias_informatica/Guia_BorgBackup.md
T
2026-08-04 19:24:21 +02:00

386 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Guía Práctica de BorgBackup
# https://www.borgbackup.org/
## ¿Qué es Borg?
BorgBackup es una herramienta de backup deduplicado, incremental y
opcionalmente cifrado, diseñada para sistemas Unix/Linux. Es muy
eficiente en espacio y segura.
---
# Instalación
## Ubuntu / Debian
```bash
sudo apt update
sudo apt install borgbackup
```
## Installar borgbackup offline
Desde otro ordenador con internet, ve a la página de releases de Borg en GitHub:https://github.com/borgbackup/borg/releasesDescarga
El binario correspondiente a tu arquitectura (normalmente borg-linux64 o borg-linux64-glibc228 si tu sistema es antiguo).
Elige la versión estable más reciente de la serie 1.x (actualmente alrededor de 1.4.x).
Copia el archivo al equipo sin internet (por USB, pendrive, red local, etc.).
En el equipo objetivo:
```bash
chmod +x borg-linux64 * hazlo ejecutable
sudo cp borg-linux64 /usr/local/bin/borg
sudo chown root:root /usr/local/bin/borgsudo
chmod 755 /usr/local/bin/borg
```
opcional (para el comando borgfs):sudo ln s /usr/local/bin/borg /usr/local/bin/borgfs
verifica: borg --version
## macOS (Homebrew)
```bash
brew install borgbackup
```
Verificar instalación:
```bash
borg --version
```
## Windows (WSL)
En PowerShell como administrador:
```
wsl --install
```
Reinicia el equipo si lo pide.
Instalar Borg dentro de Ubuntu (WSL)
Abre Ubuntu desde el menú inicio y ejecuta:
```
sudo apt update
sudo apt install borgbackup
```
Verifica:
```
borg --version
```
📂 Acceder a tus archivos de Windows desde WSL
Tus discos Windows están en:
/mnt/c
Ejemplo:
```
borg create /mnt/d/backups/borg_repo::backup1 /mnt/c/Users/TU_USUARIO/Documents
```
Conceptos Importantes
- \*\*Repositorio (Repo):\*\* Lugar donde se almacenan los backups.
- \*\*Archive (Snapshot):\*\* Cada backup individual dentro del
repositorio.
- \*\*Deduplicación:\*\* Solo guarda bloques nuevos o modificados.
- \*\*Incremental real:\*\* Cada backup parece completo, pero solo guarda
cambios.
- \*\*Prune:\*\* Elimina snapshots antiguos según reglas.
- \*\*Compact:\*\* Recupera espacio tras borrar snapshots.
------------------------------------------------------------------------
Crear un Repositorio
Con cifrado (recomendado)
```
borg init --encryption=repokey /ruta/al/repositorio
```
Sin cifrado
```bash
borg init --encryption=none /ruta/al/repositorio
```
---
# Crear un Backup
```bash
borg create --stats --progress /ruta/al/repositorio::nombre-backup /ruta/a/respaldar
```
Ejemplo:
```bash
borg create --stats --progress /mnt/backup_usb/ocis_borg::ocis-2026-02-11 /srv/ocis
```
```bash
borg create --stats --progress \
/mnt/backup_usb/ocis_borg::ocis-$(date +%Y-%m-%d_%H-%M) \
/srv/ocis
```
```bash
borg create --stats --progress \
/ruta/al/repositorio::backup-{now:%Y-%m-%d} \
/ruta/a/respaldar
```
Esto creará backups como:
backup-2026-02-23
backup-2026-02-24
### Opciones útiles
- `--stats` → Muestra estadísticas al finalizar.
- `--progress` → Muestra progreso en tiempo real.
- `--compression lz4` → Compresión rápida (recomendado).
- `--dry-run` → Simulación sin ejecutar realmente.
---
# Listar Backups Disponibles
```bash
borg list /ruta/al/repositorio
```
---
# Restaurar Backup Completo
```bash
cd /
borg extract /ruta/al/repositorio::nombre-backup
con progreso
borg extract --progress /ruta/al/repositorio::nombre-backup
```
---
# Restaurar Archivo o Carpeta Específica
Se necesita FUSE:
1. Linux sudo apt install fuse3
2. WSL sudo apt install fuse3
3. MacOs https://macfuse.github.io/ Montar snapshot:
```bash
mkdir /mnt/tmp
borg mount /ruta/al/repositorio::nombre-backup /mnt/tmp
```
Explorar y copiar archivos necesarios.
Desmontar:
```bash
umount /mnt/tmp
```
Si se quiere restaurar en otra carpeta:
cd /tmp
borg extract /Users/jesus/test_repo::backup4
# Eliminar Backups Antiguos (Prune)
Ejemplo típico:
```bash
borg prune -v --list /ruta/al/repositorio --keep-daily=7 --keep-weekly=4 --keep-monthly=6
```
Luego compactar:
```bash
borg compact /ruta/al/repositorio
```
---
# Eliminar repositorio-backup
Eliminar un repositorio Borg completo - carpeta
```bash
rm -rf /mnt/backup_usb/ocis_borg
```
Borrar backups (archives) pero mantener el repo
1. Borrar el repositorio completo Este comando elimina el repositorio junto con todos los archivos (archives) contenidos en él, además de borrar el caché local asociado. Comando estándar:
```bash
borg delete /ruta/al/repositorio
```
En versiones más recientes (Borg 1.2+): Se recomienda usar el comando específico:
```bash
borg repo-delete /ruta/al/repositorio
```
Usa el código con precaución.
[!IMPORTANT]
Al ejecutarlo, el sistema te pedirá confirmación escribiendo YES en mayúsculas para proceder con la eliminación irreversible.
2. Opciones adicionales útiles
Simulación (--dry-run): Para ver qué se borraría sin ejecutar la acción real, usa:
```
bash
borg delete --list --dry-run /ruta/al/repositorio.
```
Conservar info de seguridad (--keep-security-info): Útil si planeas reemplazar un repositorio corrupto con una copia pero quieres mantener los contadores de seguridad (nonces) locales.
Solo caché local (--cache-only): Si solo quieres limpiar los archivos temporales locales del repositorio sin borrar los datos en el servidor/disco.
3\. Liberar espacio en disco
Si solo borraste archivos (archives) individuales dentro del repositorio y no el repositorio completo, el espacio no se liberará automáticamente. Debes ejecutar el comando de compactación:
```
bash
borg compact /ruta/al/repositorio
```
Borrar un backup específico:
```
bash
borg delete /mnt/backup_usb/ocis_borg::ocis-2026-02-11_18-30
```
Después: (Para recuperar espacio real)
```
bash
borg compact /mnt/backup_usb/ocis_borg
```
---
# Verificar Integridad
```bash
borg check /ruta/al/repositorio
```
---
# Exportar Clave (Si usas cifrado)
```bash
borg key export /ruta/al/repositorio /ruta/segura/clave.key
```
⚠️ Si pierdes la passphrase y la clave, el backup no se puede recuperar.
---
# Información de un repo
```bash
borg info /Users/jesus/test_repo
```
Te mostrará algo como:
Repository ID: xxxxx
Location: /Users/jesus/test_repo
Number of archives: 5
Original size: 120 GB
Compressed size: 80 GB
Deduplicated size: 10 GB
Ver tamaño de cada backup individual
```bash
borg info /Users/jesus/test_repo::backup4
```
---
IMPORTANTE PARA MANTENER ESTRUCTURA DE CARPETAS:
### Hacer backup desde `/`
```
cd /
borg create /mnt/backup_usb/borg_repo::ocis-$(date +%F_%H-%M) srv/ocis
```
---
### Restaurar
```
cd /
borg extract /mnt/backup_usb/borg_repo::ocis-xxxx
```
Si haces:
```
cd /srv/ocis
borg create repo::backup .
```
### Opciones útiles:
Ver qué contiene un backup:
```borg list /backups/repositorio::backup-2026-05-09```
Extraer sin preservar permisos/owner:
```borg extract --numeric-ids --noacls --noxattrs ...```
Mostrar progreso:
```borg extract --progress /destino repo::archivo```
# Buenas Prácticas
- Probar restauraciones periódicamente.
- Guardar la passphrase en lugar seguro.
- No guardar el backup en el mismo disco que los datos.
- Desmontar correctamente discos externos.
- Usar cifrado si el disco puede perderse o salir del entorno físico.
---
# Flujo Típico de Uso Manual
1. Montar disco externo.
2. Parar servicio (ej. Docker).
3. Ejecutar `borg create`.
4. Arrancar servicio.
5. Desmontar disco.
---
# Resumen
Borg es:
- Rápido
- Seguro
- Incremental
- Deduplicado
- Ideal para servidores Linux y Docker
Un backup no probado no es un backup.