Backup en OneDrive desde Linux Utilizando rsync y rclone

Para realizar una copia de seguridad con rsync desde un sistema Linux a OneDrive, primero necesitas montar OneDrive como un sistema de archivos en tu sistema Linux. Una herramienta popular para esto es rclone, que permite interactuar con diferentes servicios de almacenamiento en la nube, incluyendo OneDrive.

Aquí tienes los pasos para configurar rclone y usar rsync para hacer copias de seguridad en OneDrive:

Instalación y Configuración de rclone

  1. Instala rclone: curl https://rclone.org/install.sh | sudo bash
  2. Configura rclone:
    Ejecuta rclone config y sigue las instrucciones para configurar OneDrive. rclone config Durante la configuración, deberás:
    • Crear una nueva configuración (n para new remote).
    • Darle un nombre (por ejemplo, onedrive).
    • Seleccionar OneDrive como el tipo de almacenamiento.
    • Seguir las instrucciones para autenticar rclone con tu cuenta de OneDrive.
  3. Verifica la configuración:
    Asegúrate de que la configuración funciona listando los archivos en tu OneDrive:
    bash rclone ls onedrive:

Montaje de OneDrive

Para montar OneDrive como un sistema de archivos, puedes usar rclone mount. Esto requiere tener permisos adecuados y posiblemente instalar fuse si no está ya instalado.

  1. Instala fuse (si es necesario): sudo apt-get install fuse
  2. Crea un directorio para montar OneDrive: mkdir -p ~/OneDrive
  3. Monta OneDrive: rclone mount onedrive: ~/OneDrive & Esto montará tu OneDrive en el directorio ~/OneDrive.

Uso de rsync para la Copia de Seguridad

Una vez montado OneDrive, puedes usar rsync para copiar archivos al directorio montado.

#!/bin/bash

# Configuración
SOURCE_DIR="/ruta/al/directorio/origen"    # Directorio de origen
DEST_DIR="$HOME/OneDrive/copia_de_seguridad"     # Directorio de destino en OneDrive
LOG_FILE="$HOME/OneDrive/copia_de_seguridad/backup.log"  # Archivo de log
DATE=$(date +"%Y-%m-%d %H:%M:%S")          # Fecha y hora actuales

# Crear directorio de destino si no existe
mkdir -p "$DEST_DIR"

# Realizar la copia de seguridad incremental con rsync
rsync -av --delete "$SOURCE_DIR" "$DEST_DIR" > "$LOG_FILE" 2>&1

# Escribir en el log el resultado de la copia de seguridad
if [ $? -eq 0 ]; then
    echo "[$DATE] Copia de seguridad completada con éxito." >> "$LOG_FILE"
else
    echo "[$DATE] Error en la copia de seguridad." >> "$LOG_FILE"
fi

# Opcional: Enviar notificación por correo electrónico
EMAIL="[email protected]"
mail -s "Copia de Seguridad Completada" "$EMAIL" < "$LOG_FILE"

Cómo usar este script

  1. Guarda el script en un archivo, por ejemplo backup_to_onedrive.sh.
  2. Haz que el archivo sea ejecutable:
    bash chmod +x backup_to_onedrive.sh
  3. Configura las rutas de origen y destino, así como la dirección de correo electrónico para recibir notificaciones.
  4. Ejecuta el script:
    bash ./backup_to_onedrive.sh

Automatización con cron

Para automatizar este script y ejecutarlo, por ejemplo, todos los días a las 2 AM, puedes agregarlo a cron:

  1. Edita el crontab:
    crontab -e
  2. Agrega la siguiente línea al final del archivo (ajustando la ruta al script):
    0 2 * * * bash /ruta/al/backup_to_onedrive.sh

Notas

  • Asegúrate de que el sistema tenga configurado un servidor de correo para que el comando mail pueda enviar correos electrónicos. En sistemas basados en Debian/Ubuntu, puedes instalar mailutils:
    sudo apt-get install mailutils
  • Revisa los permisos de los directorios de origen y destino para asegurarte de que el script tenga los permisos necesarios para leer y escribir.
  • El montaje de rclone puede no persistir después de un reinicio. Puedes agregar el comando de montaje a tu archivo rc.local o utilizar systemd para montar automáticamente al inicio.

Este enfoque te permite usar rsync para copias de seguridad incrementales hacia OneDrive, proporcionando una solución robusta y flexible para proteger tus datos.

Scroll al inicio
WordPress Appliance - Powered by TurnKey Linux