DevOPS/Script/rclone_install.sh

70 lines
2.1 KiB
Bash

#!/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."