#!/bin/bash # Variables de configuration RCLONE_CONFIG_DIR="${HOME}/.config/rclone" RCLONE_CONFIG_FILE="${RCLONE_CONFIG_DIR}/rclone.conf" REMOTE_NAME="monserveur" # Nom de la remote STORAGE_TYPE="sftp" # Type de stockage distant, par exemple sftp, drive, s3, etc. # Fonction d'installation de Rclone install_rclone() { echo "Installation de Rclone..." if ! command -v rclone &> /dev/null; then curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64 sudo cp rclone /usr/local/bin/ sudo chown root:root /usr/local/bin/rclone sudo chmod 755 /usr/local/bin/rclone cd .. rm -rf rclone-*-linux-amd64 rclone-current-linux-amd64.zip echo "Rclone installé avec succès." else echo "Rclone est déjà installé." fi } # Fonction pour configurer une nouvelle remote configure_rclone_remote() { echo "Configuration de la remote Rclone..." # Crée le dossier de configuration s'il n'existe pas mkdir -p "$RCLONE_CONFIG_DIR" # Lance l'assistant de configuration de Rclone rclone config create "$REMOTE_NAME" "$STORAGE_TYPE" \ || { echo "La configuration automatique a échoué. Lancez 'rclone config' pour configurer manuellement." exit 1 } echo "Configuration de la remote $REMOTE_NAME terminée." } # Fonction pour tester la connexion avec la remote configurée test_rclone_connection() { echo "Test de la connexion avec le remote $REMOTE_NAME..." if rclone ls "$REMOTE_NAME:/" &> /dev/null; then echo "Connexion réussie avec $REMOTE_NAME." else echo "Échec de connexion avec $REMOTE_NAME. Vérifiez la configuration." exit 1 fi } # Exécution du script echo "Début de l'installation et de la configuration de Rclone..." install_rclone echo "Voulez-vous configurer une nouvelle remote pour Rclone ? (y/n)" read -r configure_remote if [[ "$configure_remote" =~ ^[Yy]$ ]]; then configure_rclone_remote test_rclone_connection else echo "Configuration de la remote annulée. Vous pouvez la configurer plus tard avec 'rclone config'." fi echo "Installation et configuration de Rclone terminées."