Copias cifradas con Restic en un remoto de Rclone

·4 min de lectura·

Restic permite almacenar sus repositorios en distintos destinos. Si el almacenamiento está configurado como un remoto de Rclone, Restic puede acceder a él mediante el backend rclone: y ejecutar Rclone por su cuenta; no es necesario montar antes el destino con rclone mount [1].

En esta guía prepararemos un repositorio, guardaremos una copia de seguridad, consultaremos las instantáneas y haremos una restauración de prueba. Los nombres de remoto y las rutas son ejemplos: sustitúyelos por los de tu configuración.

Requisitos

Antes de empezar, instala Restic y Rclone y configura en Rclone el remoto que dará acceso al almacenamiento. El mismo usuario que ejecute Restic debe poder encontrar Rclone y acceder a su configuración.

El formato del repositorio para un remoto de Rclone es rclone:<remoto>:<ruta>. Por ejemplo, rclone:almacenamiento:copias/servidor apunta al directorio copias/servidor del remoto llamado almacenamiento [1]. Restic inicia y detiene el proceso de Rclone cuando lo necesita.

Configurar el repositorio y proteger la contraseña

Restic cifra el repositorio con una contraseña que necesitarás para acceder a las copias. Guárdala en un gestor de secretos o en un fichero protegido y conserva una copia segura fuera del servidor: si pierdes la contraseña, no podrás descifrar el repositorio [2].

En el ejemplo, el fichero /etc/restic/servidor-password debe contener la contraseña y ser legible solo por la cuenta que ejecuta las copias. No escribas la contraseña directamente en el historial de la terminal ni la publiques en un script. Restic admite la variable RESTIC_PASSWORD_FILE para leerla desde un fichero protegido [2].

Define la ubicación del repositorio y el fichero de contraseña para la sesión actual:

export RESTIC_REPOSITORY='rclone:almacenamiento:copias/servidor'
export RESTIC_PASSWORD_FILE='/etc/restic/servidor-password'

Asegúrate de que Rclone puede acceder al remoto usando esa misma cuenta. Si usas una tarea programada o un servicio, configura explícitamente el entorno y la ubicación del archivo de configuración de Rclone según cómo se ejecute ese servicio.

Inicializar el repositorio

La inicialización se realiza una sola vez para cada repositorio:

restic init

Restic creará la estructura del repositorio en el destino seleccionado. No repitas la inicialización para un repositorio existente; después de inicializarlo, usa los comandos de operación sobre ese mismo destino [1].

Crear y consultar una copia

Para respaldar un directorio, ejecuta backup indicando la ruta que quieres proteger:

restic backup /srv/datos

Cada ejecución guarda una instantánea del estado de los archivos. Restic reutiliza los datos que ya están almacenados cuando no han cambiado, por lo que las instantáneas pueden compartir contenido en lugar de duplicarlo por completo [3].

Consulta las instantáneas guardadas con:

restic snapshots

Si varias máquinas guardan copias en el mismo repositorio, identifica la instantánea por equipo antes de restaurar. Restic permite filtrar la más reciente usando --host y, cuando haga falta, --path [4].

Probar una restauración

Una copia solo es útil si se puede recuperar. Restaura la instantánea más reciente en un directorio temporal para comprobar el proceso sin sobrescribir los datos originales [4]:

restic restore latest --target /tmp/restic-restore

Revisa los archivos restaurados y sus contenidos. La ruta de destino contiene la estructura de directorios guardada en la instantánea. Para recuperar una instantánea de un equipo concreto, añade --host nombre-del-equipo al comando.

Comprobar el repositorio

Ejecuta periódicamente una verificación estructural:

restic check

La comprobación completa de los datos también se puede solicitar con:

restic check --read-data

Esta última opción lee todos los datos del repositorio y puede descargar todo su contenido, por lo que puede tardar y consumir ancho de banda. Planifica su ejecución de acuerdo con el tamaño del repositorio y el coste del almacenamiento remoto [5].

Resumen

  • Configura el remoto en Rclone y usa rclone:<remoto>:<ruta> como destino del repositorio.
  • Restic administra la conexión mediante Rclone; no hace falta montar el remoto con rclone mount [1].
  • Conserva la contraseña de cifrado en un lugar seguro y usa RESTIC_PASSWORD_FILE para automatizar el acceso.
  • Ejecuta copias, consulta instantáneas y prueba la restauración en una ruta temporal.
  • Verifica regularmente el repositorio; check --read-data lee el conjunto completo de datos [5].

📚 Fuentes consultadas

  1. Preparing a new repository — Restic documentation
  2. Scripting — Restic documentation
  3. Backing up — Restic documentation
  4. Restoring from backup — Restic documentation
  5. Troubleshooting and checking repository data — Restic documentation

Imagen

Copias de seguridad cifradas con Restic en Rclone

¿Te ha resultado útil?

Compártelo con tu red de contactos profesionales.

Comentarios (0)

Sé el primero en comentar.