Saltar al contenido principal

Backup con Restic en Storage Objet (S3)

Introducción

Restic es una herramienta de copia de seguridad rápida, segura y eficiente, compatible con múltiples backends, incluidos servicios tipo S3. Este tutorial te guiará paso a paso para configurar una copia de seguridad hacia un almacenamiento de objetos compatible con S3 (como AWS S3, MinIO, Wasabi, etc.).

Requis

  • Un bucket S3 existente
  • Las credenciales de acceso (Access Key y Secret Key)
  • El nombre de la región (para AWS)
  • La URL del endpoint S3 (en caso de un proveedor no-AWS)
  • Restic instalado en su máquina

Instalación de Restic

Debian/Ubuntu

sudo apt update
sudo apt install restic

macOS (mediante Homebrew)

brew install restic

Windows

Descargar el binario desde: https://github.com/restic/restic/releases

Configuración de las variables de entorno

Antes de utilizar Restic con S3, debe configurar las siguientes variables:

export AWS_ACCESS_KEY_ID="su_clave_de_acceso"
export AWS_SECRET_ACCESS_KEY="su_clave_secreta"
export RESTIC_PASSWORD="su_contraseña"

Para un endpoint S3 personalizado (no de AWS), agregue también:

export RESTIC_REPOSITORY="s3:https://endpoint.personalizado:puerto/nombre_del_bucket"

Ejemplo:

export RESTIC_REPOSITORY="s3:https://s3.mipyme.local:9000/copia_de_seguridad"

Inicializar el repositorio Restic

Una sola vez, inicialice el repositorio en el bucket:

restic init

Hacer una copia de seguridad

Para hacer una copia de seguridad de un directorio:

restic backup /ruta/hacia/mi_directorio

Listar las copias de seguridad

restic snapshots

Restaurar una copia de seguridad

Restaurar la última copia de seguridad:

restic restore latest --target /ruta/restauracion

Eliminar las copias de seguridad antiguas

Por ejemplo, mantener los últimos 7 instantáneos:

restic forget --keep-last 7 --prune

Verificación de integridad

Para verificar que todo está en orden:

restic check

Automatizar la copia de seguridad (cron)

Crear una tarea cron, por ejemplo todos los días a las 2:00:

0 2 * * * /usr/bin/restic backup /home/user/dossier >> /var/log/restic.log 2>&1

Asegúrese de que todas las variables de entorno estén exportadas en un archivo cargado por cron (por ejemplo: /etc/restic.env).

Más información

Este tutorial le proporciona una base sólida para integrar Restic en una política de copia de seguridad fiable, cifrada y compatible con almacenamientos modernos como S3.