first commit
This commit is contained in:
@@ -0,0 +1,386 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user