Copia de Seguridad de un Servidor Linux en S3 Object Storage usando Rclone
En esta publicación, te mostraremos cómo crear copias de seguridad manuales y programadas de cualquier servidor Linux en un almacenamiento de objetos S3 utilizando rclone.
Esta guía puede usarse para realizar copias de seguridad en cualquier servidor que ejecute Linux, ya sea un Servidor Dedicado, VPS o VDS. Los siguientes comandos fueron probados en Ubuntu 18.04 (64 bits), Ubuntu 20.04 (64 bits), Debian 9 y Debian 10. Otras distribuciones como CentOS pueden requerir algunos ajustes.
Debes tener acceso root para ejecutar los comandos indicados en este artículo. Inicia sesión como root o eleva tus privilegios con el siguiente comando:
sudo -i
Obtener las Credenciales S3 para Almacenar la Copia de Seguridad
Usaremos Contabo Object Storage como almacenamiento de respaldo en este tutorial, asumiendo que ya tienes una suscripción activa al servicio al seguir esta guía.
Primero, necesitas las siguientes credenciales: access_key
, secret_key
y URL
. Para el Object Storage de Contabo, estas se encuentran en la sección Object Storage del CCP (Customer Control Panel).

Cómo Crear un Archivo de Copia de Seguridad en el Servidor Linux
Primero, instalamos la última versión de rclone con este comando:
curl https://rclone.org/install.sh | sudo bash
Ahora creamos una copia de seguridad del usuario actual y almacenamos el archivo con la fecha en /opt/backup/
:
mkdir /opt/backup/
cd /opt/backup && tar -cvzf backup-$(date +%d.%m.%Y).tar.gz --directory=/ \
--exclude=lost+found --exclude=dev/* --exclude=proc/* --exclude=run/* \
--exclude=sys/* --exclude=tmp/* --exclude=mnt/* --exclude=media/* \
--exclude=opt/backup/* .
Explicación del comando:
tar
: crea un archivo comprimido.c
: (create) crea un nuevo archivo.v
: (verbose) muestra la salida detallada.z
: (gzip) comprime el archivo con gzip.f
: (file) indica el nombre y ubicación del archivo. Debe ir al final de las opciones.
/ruta/archivo.tar.gz
: ruta donde se guardará el archivo comprimido.
Como puedes ver, se excluyen ciertos directorios para ahorrar espacio o evitar archivos grandes no deseados (como en /tmp
).
Configurar Rclone en un Servidor Linux
Asumimos que los archivos y carpetas que deseas respaldar están en la carpeta /opt/backup/
.
Configura Rclone siguiendo la documentación oficial del producto aquí.
Una vez configurado, podemos realizar la copia de seguridad del servidor Linux con rclone.
Transferir el Archivo de Copia de Seguridad desde el Servidor Linux a S3
Supongamos que hemos llamado a nuestro almacenamiento de objetos eu2 y a nuestra carpeta de backup backup. Primero, creamos un bucket donde almacenaremos los archivos:
rclone mkdir eu2:backup
Después de completar la “Configuración Inicial”, ejecuta el siguiente comando para guardar los archivos en tu Object Storage:
rclone copy -P /opt/backup eu2:backup/server1
Alternativas:
- Copiar todos los datos:
rclone copy -P /opt/backup eu2:bucketname/server1
- Mover archivos y eliminarlos localmente:
rclone move -P /opt/backup eu2:bucketname/server1
- Sincronizar datos con el almacenamiento remoto:
rclone sync -P /opt/backup eu2:bucketname/server1
5. Programar Copias de Seguridad con Rclone
Tras finalizar la configuración inicial, puedes programar la creación automática de copias de seguridad.
Primero, creamos el script:
sudo nano /var/rclone.sh
Agrega lo siguiente:
#!/bin/bash
cd /opt/backup && tar -cvzf backup-$(date +%d.%m.%Y).tar.gz --directory=/ \
--exclude=lost+found --exclude=dev/* --exclude=proc/* --exclude=run/* \
--exclude=sys/* --exclude=tmp/* --exclude=mnt/* --exclude=media/* \
--exclude=opt/backup/* .
/usr/bin/rclone sync -P --update --verbose --transfers 30 \
--log-file=/var/log/upload.log "/opt/backup" "eu2:backup/"
Haz el script ejecutable:
sudo chmod +x /var/rclone.sh
Agrega el script al cron:
sudo crontab -e
Y añade la siguiente línea:
0 2 * * * /var/rclone.sh
Este ejemplo ejecutará la copia de seguridad todos los días a las 02:00. Puedes cambiar la hora según tus necesidades.
Restaurar los Datos con Rclone
Para restaurar una copia de seguridad:
rclone copy -P eu2:backup/server1 /opt/backup
Solo tienes que invertir el origen y destino y especificar cuál backup deseas recuperar.
Información Adicional
Puedes consultar más detalles sobre las opciones de configuración y parámetros en la documentación oficial.
En algunos casos, si tienes una velocidad de subida muy baja, puede ser necesario añadir esta opción al script:
--s3-chunk-size 200M