rClone: Sincronización y gestión de almacenamiento en la nube
Introducción
rClone es una herramienta extremadamente versátil que te permite sincronizar, copiar y gestionar datos entre tu servidor y servicios de almacenamiento en la nube. Es ideal para realizar copias de seguridad seguras y acceder a tus archivos desde diferentes ubicaciones.
Características principales
- Compatible con una amplia gama de servicios en la nube como Google Drive, OneDrive, Amazon S3, Dropbox y más.
- Soporta sincronización, transferencia y montajes locales de datos remotos.
- Configuración flexible y automatizable mediante
systemdo scripts personalizados.
Instalación
Puedes instalar Rclone utilizando alguno de los siguientes métodos:
Instalación desde el repositorio del sistema operativo (puede no ser la versión más reciente)
sudo apt install rclone
Instalación de la versión más reciente usando el script oficial
curl https://rclone.org/install.sh | sudo bash
Configuración inicial
-
Ejecuta el asistente de configuración interactiva para añadir un "remote" (servicio de almacenamiento):
rclone config -
Sigue las instrucciones para configurar un servicio en la nube, como Google Drive, OneDrive, Amazon S3, Dropbox, etc.
-
Una vez configurado, puedes listar los "remotes" disponibles con:
rclone listremotes
Ejemplo de configuración con Google Drive
- Tipo de almacenamiento:
Google Drive. - Autenticación: Rclone guiará el proceso para generar y validar las credenciales necesarias.
Comandos útiles
Listar archivos y carpetas en un remote
rclone ls remote:/ruta/remota
Sincronizar un directorio local con un remote
rclone sync /ruta/local remote:/ruta/remota --progress
Copiar archivos sin eliminar diferencias
rclone copy /ruta/local remote:/ruta/remota --progress
Montar un remote como un sistema de archivos local (requiere fusermount)
rclone mount remote:/ruta/remota /ruta/de/montaje
Integración con systemd
Puedes usar systemd para montar servicios de almacenamiento en la nube de manera automática al iniciar el sistema. Esto es útil si necesitas que los directorios de tu nube estén siempre disponibles como si fueran unidades locales.
Ejemplo 1: Montar Google Drive
Archivo: /etc/systemd/system/rclone-mount-drive.service
[Unit]
Description=Rclone GDrive (writes)
After=network-online.target
Wants=network-online.target
RequiresMountsFor=/mnt/Drive
[Service]
Type=notify
User=tuusuario
Group=tugrupo
ExecStartPre=/usr/bin/mkdir -p /mnt/Drive
ExecStart=/usr/bin/rclone mount Drive: /mnt/Drive \
--vfs-cache-mode=writes \
--cache-dir=/var/cache/rclone-drive \
--dir-cache-time=12h \
--poll-interval=1m \
--vfs-cache-max-size=10G \
--vfs-cache-max-age=24h \
--buffer-size=32M \
--vfs-read-chunk-size=32M \
--vfs-read-chunk-size-limit=256M \
--drive-chunk-size=128M \
--drive-pacer-min-sleep=10ms \
--drive-pacer-burst=200 \
--uid=1000 --gid=1000 --umask=022 \
--log-level=INFO
ExecStop=/usr/bin/fusermount3 -uz /mnt/Drive
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Ejemplo 2: Montar Mega
Archivo: /etc/systemd/system/rclone-mega.service
[Unit]
Description=Montar Mega con rclone
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=tuusuario
Group=tugrupo
ExecStart=/usr/bin/rclone mount Mega: /mnt/Mega \
--config /home/usuario/.config/rclone/rclone.conf \
--vfs-cache-mode full \
--allow-other \
--allow-non-empty \
--transfers 4 \
--checkers 8 \
--poll-interval 30s \
--dir-cache-time 2m \
--vfs-cache-poll-interval 2m \
--vfs-write-back 2m
ExecStop=/usr/bin/fusermount -u /mnt/Mega
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Activar y gestionar servicios
Una vez creados los archivos de servicio, puedes habilitarlos y gestionarlos con los siguientes comandos:
-
Recargar la configuración de systemd:
sudo systemctl daemon-reload -
Habilitar el servicio para inicio automático:
sudo systemctl enable rclone-mount-drive.service sudo systemctl enable rclone-mega.service -
Iniciar el servicio manualmente:
sudo systemctl start rclone-mount-drive.service sudo systemctl start rclone-mega.service -
Verificar el estado del servicio:
sudo systemctl status rclone-mount-drive.service sudo systemctl status rclone-mega.service
Notas finales
Integrar Rclone con systemd te permite gestionar de forma eficiente los servicios de almacenamiento en la nube, asegurando que estén siempre disponibles como unidades locales. Esto resulta ideal para entornos donde se trabaja de manera continua con datos en la nube.
Si encuentras problemas, puedes revisar los logs de los servicios con:
sudo journalctl -u rclone-mount-drive.service
sudo journalctl -u rclone-mega.service