70 lines
2.1 KiB
Bash
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."
|