Aller au contenu

Gérer vos données sur le cloud avec rclone

Mise à jour :

logo rclone

Rclone est un outil vraiment pratique qui permet de gérer facilement des fichiers entre différents services cloud (comme Google Drive, Dropbox, ou OOS) et votre ordinateur. Si vous avez déjà eu besoin de synchroniser des fichiers entre plusieurs comptes cloud, de faire des sauvegardes automatiques, ou simplement de déplacer des fichiers entre votre disque dur et un service en ligne, alors Rclone est fait pour vous.

Ce logiciel en ligne de commande peut paraître un peu intimidant au début, mais il est en réalité très puissant, une fois qu’on sait comment l’utiliser. Dans ce guide, je vais vous montrer comment installer Rclone, le configurer, et l’utiliser pour simplifier la gestion de vos fichiers, que ce soit pour un usage personnel ou professionnel.

Fonctionnalités principales de Rclone

Rclone est compatible avec plus de 40 services cloud différents, y compris les plus populaires comme Google Drive, Dropbox, Amazon S3, Microsoft OneDrive, OUTSCALE Object Storage (OOS) et bien d’autres. Cela vous permet de centraliser la gestion de tous vos comptes cloud avec un seul outil.

Rclone offre une panoplie de fonctionnalités qui en font un outil indispensable pour la gestion de fichiers entre différents services cloud et systèmes locaux. Voici un aperçu des fonctionnalités les plus importantes que vous pouvez exploiter avec Rclone :

  • Copie et transfert de fichiers : Rclone permet de copier ou déplacer des fichiers d’un service à un autre. Vous pouvez, par exemple, transférer des fichiers de Dropbox à OneDrive sans avoir besoin de les télécharger d’abord sur votre ordinateur. Cette fonctionnalité est très utile si vous souhaitez libérer de l’espace sur un service tout en conservant vos fichiers dans un autre.
  • Synchronisation des fichiers : L’une des fonctionnalités phares de Rclone est la synchronisation des fichiers entre deux emplacements, que ce soit entre votre ordinateur et un service cloud, ou entre deux comptes cloud différents. Par exemple, vous pouvez synchroniser un dossier de votre ordinateur avec votre Google Drive, et Rclone s’assurera que les fichiers sont identiques des deux côtés, en ne transférant que les fichiers qui ont été modifiés ou ajoutés.
  • Chiffrement des données : Pour ceux qui sont soucieux de la sécurité de leurs données, Rclone offre une fonctionnalité de chiffrement. Vous pouvez chiffrer vos fichiers avant de les stocker sur un service cloud, ce qui garantit que personne d’autre que vous ne pourra y accéder, même si quelqu’un parvient à accéder à votre compte cloud.
  • Montage de systèmes de fichiers distants : Avec Rclone, vous pouvez monter un système de fichiers distant (comme un compte Google Drive ou Dropbox) sur votre ordinateur, ce qui vous permet de le parcourir comme s’il s’agissait d’un disque dur local. Cela facilite grandement l’accès et la gestion des fichiers stockés dans le cloud directement depuis votre explorateur de fichiers.
  • Vérification de l’intégrité des fichiers : Rclone propose également une fonctionnalité de vérification qui permet de s’assurer que les fichiers transférés ou synchronisés sont intacts. Cette vérification se fait en comparant les sommes de contrôle (hash) des fichiers sur les deux emplacements, ce qui permet de détecter toute corruption ou modification non désirée.
  • Gestion du débit de transfert : Pour éviter de saturer votre connexion internet ou pour respecter les limitations de certains services cloud, Rclone vous permet de limiter le débit des transferts de fichiers. Vous pouvez ainsi ajuster la vitesse en fonction de vos besoins, par exemple en réduisant le débit pendant les heures de travail pour ne pas ralentir d’autres activités en ligne.
  • Transferts multi-threads : Pour accélérer les transferts, Rclone peut utiliser plusieurs threads simultanés, ce qui est particulièrement utile lorsque vous transférez de gros volumes de données. Cette fonctionnalité permet de tirer parti de votre bande passante maximale pour effectuer les transferts plus rapidement.

Installation de Rclone

Rclone est disponible pour les principaux systèmes d’exploitation : Linux, Windows, et macOS. L’installation est assez simple et peut être effectuée en quelques étapes :

  • Sous Linux : Vous pouvez installer Rclone en utilisant les gestionnaires de paquets standard ou en téléchargeant directement l’exécutable. Par exemple, sur Ubuntu, vous pouvez exécuter la commande suivante dans le terminal :

    Terminal window
    sudo apt install rclone

    Si vous préférez la méthode manuelle, téléchargez l’exécutable depuis le site officiel de Rclone et suivez les instructions pour le copier dans un répertoire inclus dans votre PATH.

  • Sous Windows : Téléchargez l’archive Rclone depuis le site officiel, extrayez-la, puis placez l’exécutable dans un dossier que vous ajoutez à votre PATH. Vous pouvez ensuite ouvrir une fenêtre de PowerShell ou de cmd et taper rclone pour vérifier que l’installation a été effectuée correctement.

  • Sous macOS : L’installation se fait facilement avec Homebrew. Il suffit d’exécuter la commande suivante dans le terminal :

    Terminal window
    brew install rclone

    Alternativement, vous pouvez télécharger l’exécutable depuis le site officiel et l’installer manuellement.

Concepts de base

Pour bien utiliser Rclone, il est important de comprendre certains concepts fondamentaux qui sont au cœur de son fonctionnement.

Les Remotes

Dans Rclone, un Remote représente un emplacement de stockage distant, tel qu’un service cloud (comme Google Drive, Dropbox, ou Outscale S3) ou même un serveur distant accessible via des protocoles comme FTP, SFTP, ou WebDAV. Un Remote peut aussi désigner un stockage local sur votre ordinateur. Les Remotes sont essentiels car ils définissent les sources et les destinations pour toutes les opérations de transfert, de synchronisation ou de copie que vous effectuez avec Rclone.

Configuration de Rclone

Une fois Rclone installé, vous devez le configurer pour accéder aux services cloud que vous souhaitez utiliser. La configuration se fait via la commande rclone config :

  1. Démarrer la configuration :
    • Ouvrez votre terminal (ou PowerShell sous Windows) et tapez rclone config. Vous verrez un menu interactif qui vous guidera à travers les différentes étapes.
  2. Créer un nouveau Remote :
    • Choisissez l’option n pour créer un nouveau Remote. Un Remote est un profil de configuration pour un service cloud spécifique, comme Google Drive ou Dropbox.
  3. Donner un nom à votre remote
  4. Choisir le type de service :
    • Sélectionnez le type de service cloud que vous souhaitez configurer. Rclone propose une liste de services compatibles, comme Amazon S3, Microsoft OneDrive, Dropbox, etc. (Dans le cas d’outscale, choisissez 4 / Amazon S3 compliant. Puis 32pour autre.)
  5. Répondez aux questions suivantes
  6. Enregistrer et quitter :
    • Une fois satisfait, enregistrez votre configuration. Vous pourrez maintenant utiliser Rclone pour interagir avec ce service cloud en utilisant le nom du Remote que vous venez de créer.

La configuration sera stockée dans le fichier ~/.config/rclone/rclone.conf

Pour aller plus vite, ajoutez cette section :

[oos_default]
type = s3
provider = Other
env_auth = false
access_key_id = XXXXXXXXX
secret_access_key = XXXXXX
region = other-v2-signature
endpoint = https://oos.eu-west-2.outscale.com
acl = bucket-owner-full-control

Tester la configuration**

Une fois configuré, Rclone vous permet de tester la connexion au service cloud pour vous assurer que tout fonctionne correctement. Vous pouvez par exemple lister les fichiers présents sur le service avec la commande suivante :

Terminal window
rclone lsd oos_default:
-1 2024-04-03 08:25:34 -1 formation-bucket-21
-1 2024-01-23 17:31:56 -1 lab-terraform
-1 2024-02-19 17:32:06 -1 landing-zone
-1 2024-01-18 12:02:42 -1 steph-terraform
-1 2024-03-01 13:35:39 -1 test-sr-bucket

Configurations supplémentaires

Vous pouvez configurer autant de Remotes que nécessaire pour vos différents services cloud. Rclone prend également en charge les configurations complexes, comme l’utilisation de proxy, la définition de quotas, ou encore le chiffrement des fichiers. Toutes ces options peuvent être ajustées dans le fichier de configuration de Rclone, généralement situé dans ~/.config/rclone/rclone.conf sous Linux et macOS, ou C:\Users\VotreNomUtilisateur\.config\rclone\rclone.conf sous Windows.

Proctection des données sensibles dans le fichier de configuration

Supposons que vous ayez un mot de passe que vous ne voulez pas stocker en clair dans votre fichier de configuration Rclone. Vous pouvez utiliser la commande rclone obscure pour le transformer :

Terminal window
rclone obscure "my-secret-password"

Cela produira une chaîne de texte obscure, par exemple :

ZDk1ZWI3N2Q0ZWI2NGZjMTE0MTg2YTQzN2M0OTZiOTg=

Vous pouvez ensuite utiliser cette chaîne dans le fichier de configuration de Rclone à la place du mot de passe en clair.

Une fois que vous avez obtenu la version obscurcie du mot de passe ou du token, vous pouvez l’insérer dans votre fichier rclone.conf de cette manière :

[myremote]
type = s3
provider = AWS
access_key_id = my-access-key
secret_access_key = ZDk1ZWI3N2Q0ZWI2NGZjMTE0MTg2YTQzN2M0OTZiOTg=

Rclone saura automatiquement reconnaître et décoder cette valeur obscurcie lors de l’utilisation du Remote.

Attention à la sécurité

Bien que la commande rclone obscure cache les informations sensibles, il est crucial de comprendre qu’elle n’offre pas un chiffrement fort. Le processus d’obscurcissement est réversible et ne doit pas être utilisé comme une mesure de sécurité pour protéger des données très sensibles contre un accès malveillant.

Les principales commandes de Rclone

Rclone est un outil très riche, avec une multitude de commandes qui permettent de réaliser des opérations variées sur les fichiers et les répertoires.

rclone config

La commande rclone config est la première que avez utilisée pour créer votre premier remote. Elle permet également de :

  • Lister les Remotes : Pour voir tous les Remotes que vous avez configurés :

    Terminal window
    rclone config show

    Cette commande liste tous les Remotes avec leurs détails de configuration.

rclone ls et rclone lsd

Les commandes rclone ls et rclone lsd sont utilisées pour lister les fichiers et les répertoires d’un Remote. Elles sont particulièrement utiles pour explorer le contenu d’un service cloud sans avoir à monter ce dernier.

  • Lister les répertoires : Pour lister uniquement les répertoires à la racine de votre Remote :

    Terminal window
    rclone lsd mydrive:/

    Cela montre une liste des dossiers, ce qui est utile pour naviguer dans la structure du Remote.

  • Lister les fichiers : Pour lister tous les fichiers d’un répertoire sur Google Drive :

    Terminal window
    rclone ls mydrive:/chemin/distant/

    Cette commande affiche tous les fichiers avec leurs tailles en octets.

rclone mkdir

La commande rclone mkdir permet de créer un nouveau répertoire (dossier) sur un Remote. C’est une commande de base mais essentielle lorsque vous organisez des fichiers sur un service cloud.

  • Créer un répertoire : Par exemple, pour créer un répertoire appelé “NouveauDossier” dans votre Google Drive :

    Terminal window
    rclone mkdir mydrive:/NouveauDossier

    Cette commande crée le dossier à l’emplacement spécifié. Vous pouvez ensuite y copier ou synchroniser des fichiers.

rclone touch

La commande rclone touch est utilisée pour créer un fichier vide à un emplacement spécifié sur un Remote, ou pour mettre à jour l’horodatage d’un fichier existant, similaire à la commande touch sur les systèmes Unix.

  • Créer un fichier vide : Pour créer un fichier vide nommé nouveau_fichier.txt sur Dropbox :

    Terminal window
    rclone touch mydropbox:/chemin/nouveau_fichier.txt
  • Mettre à jour l’horodatage : Si le fichier existe déjà, cette commande met à jour sa date de modification au moment présent.

rclone copy

La commande rclone copy est utilisée pour copier des fichiers ou des répertoires d’un emplacement à un autre. Cela peut être une copie entre deux services cloud, entre un service cloud et un répertoire local, ou même entre deux répertoires locaux.

  • Copier un fichier vers un service cloud : Par exemple, pour copier un fichier document.txt vers un dossier sur Google Drive :

    Terminal window
    rclone copy /chemin/vers/document.txt mydrive:/chemin/distant/
  • Copier un répertoire entier : Vous pouvez aussi copier un répertoire entier avec tous ses fichiers :

    Terminal window
    rclone copy /chemin/vers/dossier/ mydrive:/chemin/distant/

    Rclone copie uniquement les fichiers qui n’existent pas ou qui ont été modifiés dans le dossier de destination.

rclone size

La commande rclone size vous permet de connaître la taille totale des fichiers dans un répertoire sur un Remote, ainsi que le nombre de fichiers. C’est une commande utile pour évaluer l’espace utilisé ou pour des tâches de gestion de la capacité de stockage.

  • Calculer la taille d’un répertoire : Par exemple, pour connaître la taille totale des fichiers dans un dossier sur OneDrive :

    Terminal window
    rclone size myonedrive:/chemin/distant/

    Rclone affiche la taille totale en octets ainsi que le nombre de fichiers et de dossiers dans le répertoire spécifié.

rclone copyto

La commande rclone copyto est une variante de rclone copy, mais elle vous permet de spécifier explicitement le nom de fichier cible lors de la copie, au lieu de copier uniquement dans un dossier.

  • Copier un fichier avec un nouveau nom : Par exemple, pour copier un fichier document.txt vers Google Drive sous un nouveau nom copie_document.txt :

    Terminal window
    rclone copyto /chemin/vers/document.txt mydrive:/chemin/distant/copie_document.txt

    Cette commande est utile lorsque vous avez besoin de copier un fichier en changeant son nom dans le répertoire de destination.

rclone move

La commande rclone move est similaire à rclone copy, mais elle déplace les fichiers au lieu de les copier. Après le transfert, les fichiers source sont supprimés.

  • Déplacer des fichiers vers un Remote : Par exemple, pour déplacer un fichier vers OneDrive et le supprimer du répertoire local après transfert :

    Terminal window
    rclone move /chemin/vers/fichier.txt myonedrive:/chemin/distant/
  • Déplacer tout un répertoire : Vous pouvez aussi déplacer un répertoire entier :

    Terminal window
    rclone move /chemin/vers/dossier/ myonedrive:/chemin/distant/

    Cette commande est utile lorsque vous souhaitez archiver des fichiers sur un service cloud tout en libérant de l’espace sur votre disque local.

rclone sync

La commande rclone sync est utilisée pour synchroniser deux répertoires, de manière à ce qu’ils contiennent les mêmes fichiers. Contrairement à rclone copy, rclone sync supprime également les fichiers du répertoire de destination qui n’existent plus dans le répertoire source.

  • Synchroniser un répertoire local avec un Remote : Par exemple, pour synchroniser un répertoire local avec un dossier sur Dropbox :

    Terminal window
    rclone sync /chemin/vers/dossier/ mydropbox:/chemin/distant/

    Cette commande s’assure que le dossier sur Dropbox contient exactement les mêmes fichiers que le dossier local.

  • Options de sauvegarde : Pour éviter de perdre des fichiers supprimés, vous pouvez utiliser l’option --backup-dir pour déplacer les fichiers supprimés vers un autre répertoire :

    Terminal window
    rclone sync /chemin/vers/dossier/ mydropbox:/chemin/distant/ --backup-dir mydropbox:/chemin/de/sauvegarde/

rclone check

La commande rclone check est utilisée pour vérifier que les fichiers sur deux emplacements sont identiques. Elle compare les sommes de contrôle des fichiers pour s’assurer qu’ils n’ont pas été modifiés ou corrompus.

  • Vérifier la synchronisation : Pour vérifier que les fichiers d’un répertoire local et d’un Remote sont identiques :

    Terminal window
    rclone check /chemin/vers/dossier/ mydrive:/chemin/distant/

    Si des fichiers diffèrent, Rclone l’indiquera, ce qui est très utile pour valider des transferts critiques.

rclone delete et rclone purge

Les commandes rclone delete et rclone purge sont utilisées pour supprimer des fichiers ou des répertoires sur un Remote.

  • Supprimer des fichiers : Pour supprimer tous les fichiers dans un répertoire sur Dropbox sans supprimer le répertoire lui-même :

    Terminal window
    rclone delete mydropbox:/chemin/distant/
  • Purger un répertoire : Pour supprimer un répertoire entier et tout son contenu :

    Terminal window
    rclone purge mydropbox:/chemin/distant/

    Attention, ces opérations sont définitives et ne peuvent pas être annulées.

rclone rmdirs

La commande rclone rmdirs est utilisée pour supprimer les répertoires vides d’un Remote. Cette commande est utile après une synchronisation ou un déplacement qui a laissé des dossiers vides.

  • Supprimer les répertoires vides : Pour supprimer tous les répertoires vides dans un Remote :

    Terminal window
    rclone rmdirs mydrive:/chemin/distant/

    Cette commande ne supprime que les répertoires qui ne contiennent aucun fichier ou sous-dossier.

rclone mount

La commande rclone mount permet de monter un Remote comme un système de fichiers local. Cela signifie que vous pouvez accéder à un service cloud comme s’il s’agissait d’un disque dur connecté à votre ordinateur.

  • Monter un Remote : Par exemple, pour monter un dossier Google Drive dans un répertoire local /mnt/mydrive :

    Terminal window
    rclone mount mydrive:/chemin/distant /mnt/mydrive

    Une fois monté, vous pouvez naviguer dans le dossier avec votre explorateur de fichiers ou la ligne de commande, et même ouvrir des fichiers directement depuis le Remote.

  • Cache et VFS : Vous pouvez améliorer les performances en utilisant les options de VFS/Cache, qui stockent les fichiers temporairement sur votre disque dur pour réduire les délais d’accès.

rclone serve

La commande rclone serve transforme Rclone en serveur, permettant de partager vos fichiers via divers protocoles tels que HTTP, WebDAV, FTP, ou DLNA. C’est une fonctionnalité puissante pour partager des fichiers à distance sans avoir besoin d’un serveur dédié.

  • Servir un répertoire via HTTP : Pour partager un répertoire sur Google Drive via HTTP, vous pouvez utiliser :

    Terminal window
    rclone serve http mydrive:/chemin/distant/

    Cette commande crée un serveur HTTP local qui sert les fichiers du répertoire spécifié. Vous pouvez y accéder depuis un navigateur web en entrant l’adresse locale indiquée par Rclone.

  • Servir via WebDAV : Pour permettre l’accès via WebDAV, par exemple :

    Terminal window
    rclone serve webdav mydrive:/chemin/distant/

    Cette option est utile pour connecter vos fichiers cloud à des applications qui supportent WebDAV.

  • Autres protocoles : Rclone supporte également FTP et DLNA, ce qui vous permet de choisir le protocole qui convient le mieux à vos besoins de partage.

Ces commandes sont les bases de l’utilisation de Rclone et couvrent la majorité des opérations que vous serez amené à effectuer. En maîtrisant ces commandes, vous pourrez exploiter pleinement le potentiel de Rclone pour la gestion de vos fichiers, que ce soit pour des tâches simples ou des opérations plus complexes.

Filtrage des fichiers avec Rclone

Rclone propose une série d’options pour filtrer les fichiers basées sur leurs noms, leurs extensions, ou encore leurs emplacements dans l’arborescence des répertoires. Cela vous permet de spécifier exactement quels fichiers vous souhaitez inclure ou exclure dans une opération donnée, évitant ainsi de transférer des fichiers non désirés ou de traiter des répertoires entiers inutilement.

Les options de filtrage de base

Rclone offre plusieurs options de filtrage simples qui peuvent être utilisées directement dans vos commandes :

  • --include : Cette option vous permet de spécifier un motif pour inclure certains fichiers. Par exemple, pour inclure uniquement les fichiers .jpg :

    Terminal window
    rclone copy /source/ remote:/destination/ --include "*.jpg"

    Cela ne copie que les fichiers avec l’extension .jpg.

  • --exclude : Inversement, cette option exclut les fichiers qui correspondent au motif. Par exemple, pour exclure tous les fichiers .tmp :

    Terminal window
    rclone sync /source/ remote:/destination/ --exclude "*.tmp"

    Cela empêchera les fichiers temporaires .tmp d’être synchronisés.

Filtres avancés

Rclone propose également des options plus sophistiquées pour filtrer les fichiers :

  • --filter : Cette option vous permet de combiner des règles d’inclusion et d’exclusion dans une seule commande. Par exemple :

    Terminal window
    rclone copy /source/ remote:/destination/ --filter "+ *.jpg" --filter "- *.tmp"

    Cette commande inclut uniquement les fichiers .jpg et exclut les fichiers .tmp.

  • --filter-from : Pour les configurations de filtrage plus complexes, vous pouvez utiliser un fichier de filtre externe. Ce fichier peut contenir plusieurs règles de filtrage que Rclone appliquera. Par exemple, si vous avez un fichier filters.txt contenant :

    + *.jpg
    - *.tmp
    + /dossier_importants/**
    - *

    Vous pouvez l’appliquer avec :

    Terminal window
    rclone sync /source/ remote:/destination/ --filter-from filters.txt

    Cette commande inclut tous les fichiers .jpg, tout ce qui se trouve dans dossier_importants, et exclut les autres fichiers.

Motifs de filtrage

Les motifs utilisés pour le filtrage sont basés sur des expressions similaires aux expressions globs que l’on retrouve dans les systèmes Unix. Voici quelques exemples :

  • *.jpg : Correspond à tous les fichiers avec l’extension .jpg.
  • /photos/** : Correspond à tous les fichiers et sous-répertoires dans le dossier photos.
  • !important/* : Exclut tous les fichiers dans le répertoire important.

Vous pouvez combiner ces motifs pour créer des règles de filtrage très spécifiques.

Débogage et vérification des filtres

Rclone propose une option pour tester et vérifier vos filtres avant de lancer une opération importante. Vous pouvez utiliser l’option --dry-run pour voir quels fichiers seraient affectés par vos filtres sans réellement les transférer :

Terminal window
rclone copy /source/ remote:/destination/ --filter-from filters.txt --dry-run

Cette commande vous montre une prévisualisation de ce qui se passerait, vous permettant d’ajuster vos filtres si nécessaire.

Conclusion

L’un des points forts de Rclone est sa capacité à s’adapter à une multitude de scénarios, qu’il s’agisse de gérer de simples sauvegardes personnelles ou de déployer des solutions professionnelles complexes. Son interface en ligne de commande, bien que parfois intimidante pour les nouveaux utilisateurs, offre une puissance et une flexibilité inégalées, permettant une intégration facile dans des scripts et des processus automatisés.

En explorant et en maîtrisant Rclone, vous serez en mesure de simplifier et d’optimiser la gestion de vos fichiers à travers des environnements divers, tout en gardant un contrôle total sur vos données. Que vous soyez un utilisateur occasionnel ou un administrateur système chevronné, Rclone est un outil indispensable dans votre boîte à outils.

Pour aller plus loin, je vous encourage à consulter la documentation officielle, à expérimenter avec les différentes commandes et options disponibles, et à explorer les communautés en ligne où de nombreux utilisateurs partagent leurs expériences et astuces avec Rclone. Avec le temps, vous découvrirez de nouvelles façons d’exploiter cet outil polyvalent pour répondre à vos besoins spécifiques.

Plus d’infos