Por qué automatizar sus copias de seguridad con Restic
Un VPS aloja a menudo datos irreemplazables: bases de datos, volúmenes Docker, ficheros de configuración. Restic responde a tres exigencias clave de una buena estrategia: el cifrado (AES-256, el repositorio es inutilizable sin la contraseña), la deduplicación (los bloques idénticos solo se almacenan una vez, lo que reduce drásticamente el volumen y el costo) y el soporte de backends variados (S3, Backblaze B2, SFTP, almacenamiento local). Autoalojar Restic en el VPS en lugar de depender de un servicio de backup gestionado le da el control total del cifrado: la clave permanece en su poder y el proveedor de almacenamiento solo ve blobs opacos. Es la base de una estrategia 3-2-1 seria.
Lo que Restic le aporta
- Cifrado AES-256 del lado del cliente: el backend de almacenamiento solo ve datos ilegibles.
- Deduplicación por bloques que reduce mucho el tamaño y el costo de las copias sucesivas.
- Snapshots incrementales rápidos: solo se transfieren los bloques nuevos en cada ejecución.
- Múltiples backends (S3, Backblaze B2, SFTP, rest-server, local) sin cambiar de flujo de trabajo.
- Restauración granular: un fichero, una carpeta o un snapshot completo mediante
restic restore. - Política de retención automatizada con
forget --prune(conservar N diarios, M semanales...).
Requisitos previos para este despliegue
Restic es frugal: funciona en cualquier VPS, incluso con 1 vCPU y 1 GB de RAM, ya que la deduplicación consume algo de memoria en proporción al tamaño del repositorio. Necesita el binario restic (paquete de la distribución o descarga directa), un backend de destino remoto (un bucket compatible con S3 en un proveedor, u otro servidor por SFTP) y sus credenciales. Aquí Docker no es obligatorio: Restic es una herramienta de línea de comandos. Prevea cron o un timer systemd para la automatización, y un lugar seguro fuera del VPS para conservar la contraseña del repositorio.
Poner en marcha copias de seguridad Restic automatizadas
Instalar Restic y preparar las variables de entorno
Instale el binario (
apt install resticy luegorestic self-update). Cree un fichero/root/.restic-envque contengaRESTIC_REPOSITORY,RESTIC_PASSWORDy las claves de acceso del backend (AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEYpara un bucket compatible con S3). Restrinja sus permisos conchmod 600.Inicializar el repositorio cifrado
Cargue el entorno y luego ejecute
restic init. Este comando crea la estructura del repositorio y sella el cifrado con su contraseña. Guarde esa contraseña en un lugar distinto del VPS: sin ella, ninguna restauración es posible.Lanzar una primera copia de seguridad
Respalde sus directorios críticos, por ejemplo
restic backup /etc /var/www /opt/docker-data. Para una base de datos, genere un dump en un fichero e inclúyalo, o canalice el dump haciarestic backup --stdin.Definir una política de retención
Evite la acumulación infinita con
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune. La pasada--pruneelimina físicamente los bloques que han quedado huérfanos y libera espacio en el backend.Automatizar con cron o un timer systemd
Cree un script
backup.shque cargue.restic-env, ejecuterestic backupy despuésrestic forget --prune, y registre el resultado. Prográmelo a diario, por ejemplo0 3 * * * /root/backup.shen el crontab.Probar una restauración y verificar la integridad
Una copia de seguridad sin probar es una ilusión. Liste los snapshots con
restic snapshots, restaure hacia una carpeta temporal (restic restore latest --target /tmp/test-restore) y ejecuterestic checkperiódicamente para validar la integridad del repositorio.
Proteja sus copias de seguridad frente al ransomware activando el modo «append-only» del lado del backend: despliegue un rest-server remoto con la opción --append-only, o utilice un bucket S3 con una política IAM que prohíba las eliminaciones. Así, aunque su VPS quede comprometido y el atacante obtenga las credenciales, no podrá borrar ni cifrar sus snapshots existentes. Combine esto con una ejecución de restic forget --prune desde una máquina distinta que sí disponga de permisos de eliminación.