Ceci est une ancienne révision du document !


Logo de Rclone

Rclone

Rclone permet de synchroniser des répertoires et des fichiers sur de nombreuses plateformes de stockage différentes. Il rend la source et la destination identiques en ne modifiant que la destination. C'est un outil en ligne de commande, mais il existe des interfaces graphiques et il inclut lui-même une interface web.

rsync est très largement utilisé sur Linux pour la copie et synchronisation de fichiers, que ce soit localement ou via le protocole SSH.
Il montre cependant ses limites lorsqu'il s'agit de copier du contenu sur des services tiers ou certains protocoles comme le WebDAV. Les fonctions ne sont pas implémentées ou s'avère extrêmement peu performantes combinées à l'utilisation de FUSE (pour "faire croire" à rsync qu'il s'agit d'un montage local, comme par exemple davfs2 pour accéder à un serveur WebDAV, ou fusesmb pour les partages CIFS ou SMB).

Rclone se présente comme "rsync, pour le stockage cloud"1). Il est extrêmement performant dans toutes les situations sans nécessiter d'optimisations particulières (en WebDAV on peut s'attendre à multiplier les vitesses de transferts de rsync ou de certains clients par 50 !).

Rclone prend en charge une quantité sidérante de protocoles et de fournisseurs de services cloud, dans la liste desquels on peut citer :

  • les systèmes de fichiers locaux
  • SMB / CIFS (partages locaux, Windows, Linux ou MacOS)
  • OVH
  • Synology C2 Object Storage
  • Google Drive, Google Cloud Storage, Google Photos
  • Amazon S3
  • Microsoft OneDrive
  • OpenStack Swift
  • Oracle Cloud Storage
  • Dropbox
  • Proton Drive
  • Box
  • Cloudflare R2
  • Internet Archive
  • put.io
  • Mega
  • etc.

Rclone permet aussi à l'aide de FUSE de monter ces espaces de stockage en système de fichier.

Rclone est disponible dans les dépôts officiels d'Ubuntu.
Pour l'installer il suffit donc d'installer le paquet rclone.

Rclone est aussi disponible en Snap depuis Snapcraft.

On peut configurer rclone avec un outil interactif en ligne de commande.

Entrez la commande suivante  dans un terminal :

rclone config

Une suite de question vous sera posée en anglais.

  • Dans un premier temps tapez n pour New remote (nouveau stockage distant).
  • Entrez le nom du stockage (pour vous y retrouver), par ex. monServeur.
  • Une liste impressionnante de protocoles / prestataire vous est proposée dans l'ordre alphabétique. Choisissez celui que vous utilisez en tapant son numéro.
  • En fonction du choix précédent vous devrez entrer des informations de connexion.
  • Pas besoin d'éditer de configuration avancée : Edit advanced config? → tapez n (ou simplement Entrée).
  • y ou Entrée pour valider la configuration.
  • Puis q pour quitter.

Le fichier de configuration ~/.config/rclone/rclone.conf sera ainsi créé. Vous pouvez si besoin l'éditer :

rclone.conf
[monServeur]
type = webdav
url = https://example.com
vendor = other
user = votreNom
pass = motDePasseChiffré

La commande rclone obscure suvis de votre mot de passe permet de chiffrer les mots de passe afin de les utiliser dans ce fichier. Mettez un espace avant rclone obscure afin d'éviter d'enregistrer votre mot de passe en clair dans l'historique bash !

On peut afficher la liste des commandes disponibles en tapant simplement rclone dans un terminal.

Rclone permet de réaliser toutes sortes d'opérations (rclone du, rclone ncdu, rclone dedupe, etc.), dont le montage et la synchronisation.

Copie / synchronisation

En ligne de commande, rclone s'utilise un peu comme rsync avec la commande rclone sync :

rclone sync --update --progress [local] [service]:[distant]

Remplacez [local] par le chemin local, [service] par le nom du service choisi lors de la configuration (monServeur dans l'exemple précédent), puis [distant] par le chemin distant.

Dans un premier temps vous pouvez tester votre commande sans danger et sans toucher à aucun fichiers avec l'option –dry-run :
rclone sync --update --progress --dry-run  [local] [service]:[distant]

Voir aussi (en) le guide d'utilisation, avec des instructions détaillées pour chaque fournisseur.

Montage

On peut monter un espace en système de fichier avec la commande rclone mount :

rclone mount [service]:[distant] [local]

On peut démonter le volume avec la commande umount de GNU.

Il est aussi possible d'utiliser rclone graphiquement :


1)
GitHub : rsync for cloud storage
  • rclone.1695660719.txt.gz
  • Dernière modification: Le 25/09/2023, 18:51
  • par krodelabestiole