Rclone – exemple pratique pour une connexion limitée

L’utilisation de rclone en tant que service Windows via NSSM (Non-Sucking Service Manager) est une excellente manière de gérer vos fichiers cloud de façon continue et automatisée. Ce guide détaillé vous expliquera comment installer et configurer rclone et NSSM sur votre système Windows à l’aide de Chocolatey, un gestionnaire de paquets pour Windows.

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Un accès Internet stable.
  • Des privilèges administrateur sur votre machine Windows.

Pour installer Chocolatey, suivez les instructions sur leur site officiel.

Installation de rclone et NSSM via Chocolatey

Après avoir installé Chocolatey, ouvrez une invite de commande en tant qu’administrateur et exécutez les commandes suivantes :

choco install rclone
choco install nssm

Cela installera rclone et NSSM sur votre système.

Configuration de rclone

Avant de configurer rclone comme service, vous devez d’abord le configurer pour accéder à votre stockage cloud.

  • Lancez rclone config
rclone config
  • Suivez les instructions pour ajouter un nouveau remote (par exemple, Zoho, Google Drive, etc.).
  • Testez votre configuration en listant les répertoires du stockage cloud
rclone lsd nom_de_votre_remote:

Tester les options de rclone pour votre connexion

  • Avant de créer un service avec NSSM, il est crucial de tester rclone avec les options que vous envisagez d’utiliser.
  • Exemple de commande avec des options optimisées pour une bande passante limitée :
rclone mount -vv --default-permissions zoho: T: --vfs-cache-mode full --vfs-cache-max-size 230G --vfs-cache-max-age 200h --vfs-read-chunk-size 16M --buffer-size=4M --vfs-read-chunk-size-limit off --low-level-retries=10 --cache-dir D:\rclone_cache --timeout 24h --network-mode --bwlimit 100K:off --transfers 1 --checkers 2 --tpslimit=2 --config C:\Users\VotreNom\AppData\Roaming\rclone\rclone.conf

Il est crucial de s’assurer que le répertoire de cache existe et est accessible avant de démarrer rclone, surtout si vous utilisez un cache conséquent avec --vfs-cache-mode full. Cela permettra à rclone de stocker efficacement les fichiers en cache, améliorant ainsi les performances et réduisant la charge sur votre connexion Internet.

Explication des options

  • -vv : Active le mode de débogage très verbeux. Cela génère des journaux détaillés, utiles pour le diagnostic des problèmes.
  • --default-permissions : Fait en sorte que rclone applique les permissions par défaut aux fichiers et dossiers montés, basées sur le processus de rclone.
  • zoho: Z: : Montre le stockage Zoho sur le lecteur Z:. zoho: est le nom de la configuration de votre stockage dans rclone.
  • --vfs-cache-mode full : Utilise le mode de cache complet du VFS (Virtual File System). Cela permet de stocker les fichiers en lecture et en écriture localement pour améliorer les performances.
  • --vfs-cache-max-size 230G : Définit la taille maximale du cache VFS à 230 gigaoctets.
  • --vfs-cache-max-age 200h : Les fichiers resteront dans le cache pendant 200 heures avant d’être supprimés, à moins qu’ils ne soient à nouveau utilisés.
  • --vfs-read-chunk-size 16M : Lors de la lecture de fichiers, rclone lira des morceaux de 16 mégaoctets à la fois. Cela peut améliorer les performances pour les gros fichiers.
  • --buffer-size=4M : Chaque fichier ouvert a un buffer de 4 mégaoctets. Ce buffer est utilisé pour les opérations de lecture/écriture.
  • --vfs-read-chunk-size-limit off : Désactive la limite de taille des chunks lus, ce qui signifie que rclone peut augmenter la taille des chunks si nécessaire.
  • --low-level-retries=10 : Nombre de tentatives pour les opérations à bas niveau en cas d’échec avant d’abandonner. Ici, fixé à 10.
  • --cache-dir D:\rclone_cache : Spécifie le chemin où le cache local sera stocké, ici sur le lecteur D:.
  • --timeout 24h : Délai d’attente pour les opérations, fixé à 24 heures. Utile pour des opérations longues sur des connexions lentes.
  • --network-mode : Utilise les fonctionnalités spécifiques au mode réseau, utile pour certains types de réseaux ou systèmes de fichiers.
  • --bwlimit 100K:off : Cette option configure une limitation de bande passante spécifique pour l’upload et le download. 100K limite l’upload à 100 Ko/s, tandis que off indique qu’il n’y a pas de limitation pour le download. Cela signifie que rclone limitera la vitesse d’upload à 100 Ko/s pour ne pas saturer votre connexion, surtout étant donné que votre vitesse d’upload est très limitée, mais n’appliquera aucune restriction sur la vitesse de téléchargement.
  • --transfers 1 : Limite à un seul transfert de fichier à la fois. Cela réduit la charge sur une connexion à bande passante limitée.
  • --checkers 2 : Nombre de vérifications simultanées limité à 2. Les vérificateurs sont utilisés pour vérifier l’existence de fichiers.
  • --tpslimit=2 : Limite le nombre de transactions par seconde à 2, ce qui aide à éviter de dépasser les limites de taux des API.
  • --config C:\Users\VotreNom\AppData\Roaming\rclone\rclone.conf : Spécifie l’emplacement du fichier de configuration de rclone.

Configuration de NSSM pour Exécuter rclone en tant que Service

  • Ouvrez l’invite de commande en tant qu’administrateur.
  • Utilisez NSSM pour créer un nouveau service
nssm install MontageZohoDrive
nssm edit MontageZohoDrive

Onglet « Application »

  • Path : Indiquez le chemin complet vers l’exécutable de rclone, généralement C:\ProgramData\chocolatey\bin\rclone.exe.
  • Startup directory : Mettez le répertoire dans lequel rclone doit s’exécuter. Habituellement, il s’agit du même répertoire que l’exécutable de rclone.
mount -v --default-permissions zoho: T: --vfs-cache-mode full --vfs-cache-max-size 230G --vfs-cache-max-age 200h --vfs-read-chunk-size 16M --buffer-size=4M --vfs-read-chunk-size-limit off --low-level-retries=10 --cache-dir D:\rclone_cache --timeout 24h --network-mode --bwlimit 100K:off --transfers 1 --checkers 2 --tpslimit=2 --config C:\Users\VotreNom\AppData\Roaming\rclone\rclone.conf
  • Service name : Donnez un nom à votre service, par exemple MontageZohoDrive

Onglet « Détails »

  • Display name : Le nom qui sera affiché dans le gestionnaire de services Windows. Peut être identique au nom du service.
  • Description : Fournissez une description pour le service, comme « Rclone Cloud Storage Mount ».
  • Type de démarrage : automatique

Onglet « Connexion »

  • Cocher « Compte système local »

Onglet « Dépendances »

  • Ajoutez les services dont rclone dépend pour fonctionner correctement :
    • WinFsp.Launcher : Nécessaire pour monter les systèmes de fichiers.
    • Dnscache : Le service de cache DNS, pour la résolution des noms de domaine.
    • LSM : Service de gestionnaire de session locale.

Onglet « Processus »

  • Priority : Vous pouvez mettre en priorité sur « Haute »

Onglet « E/S »

Afin d’avoir les logs, vous pouvez mettre dans :

  • Stdout : D:\rclone_log.txt
  • Stderr : D:\rclone_log.txt

Et cocher « Timestamp »

Onglet « Rotation de fichiers »

Cocher « Remplacer les fichiers d’entrée ou de sortie existants »

Onglet « Hook »

  • Hook : Ajoutez un hook pour retarder le démarrage du service rclone :
    • Choisissez l’événement, par exemple, On application start.
    • Dans le champ de commande, saisissez timeout /t 5 /nobreak. Cela ajoutera un délai de 5 secondes avant le démarrage de rclone, cela permet de s’assurer que le réseau est correctement initialisé avant le démarrage réel de rclone.

Démarrage et Test du Service

  1. Dans l’invite de commande, tapez nssm start MontageZohoDrive
  2. Vérifiez que le lecteur est monté correctement en allant dans l’Explorateur de fichiers.

Surveillance et Maintenance

  • Utilisez l’Observateur d’événements Windows pour surveiller le fonctionnement de votre service, la source étant « nssm »
  • Mettez régulièrement à jour rclone et NSSM via Chocolatey pour bénéficier des dernières fonctionnalités et correctifs de sécurité.

Conclusion

En suivant ces étapes, vous pouvez configurer rclone pour qu’il fonctionne en tant que service Windows, facilitant ainsi la gestion de vos fichiers cloud. NSSM offre une manière pratique de gérer rclone sans intervention manuelle après la configuration initiale.

Références et Ressources Supplémentaires

Pour des configurations spécifiques ou des cas d’utilisation avancés, référez-vous à la documentation officielle de rclone et NSSM.