diff --git a/Script/rclone_install.sh b/Script/rclone_install.sh new file mode 100644 index 0000000..53c7d61 --- /dev/null +++ b/Script/rclone_install.sh @@ -0,0 +1,69 @@ +#!/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."