RClone

Outils Linux & Cloud

Le couteau suisse
du stockage cloud

Synchronisez, copiez, montez et chiffrez vos données entre votre serveur et n’importe quel service cloud — en ligne de commande.

Qu’est-ce que RClone ?

RClone est un programme open source écrit en Go, développé par Nick Craig-Wood. Il s’impose comme la référence pour transférer et gérer des fichiers entre votre machine locale et plus de 70 fournisseurs de stockage distant : Google Drive, Amazon S3, Dropbox, Backblaze B2, FTP, SFTP, Nextcloud, et bien d’autres.

Son slogan officiel est « rsync for cloud storage » — il reprend la logique de rsync (synchronisation intelligente, copie différentielle) et l’applique au monde du cloud. RClone fonctionne sur Linux, macOS et Windows, sans interface graphique requise, ce qui le rend idéal pour les serveurs et les scripts automatisés.

Disque local / NAS SFTP / FTP Amazon S3 Nextcloud RClone Moteur de transfert universel Google Drive Dropbox / OneDrive Backblaze B2 Tout autre cloud SOURCES DESTINATIONS
RClone comme passerelle universelle entre sources et destinations de stockage

Installation

L’installation est très simple sur Linux. Le script officiel détecte automatiquement votre architecture (x86_64, ARM, etc.) :

# Méthode recommandée — script officiel
curl https://rclone.org/install.sh | sudo bash

# Ou via le gestionnaire de paquets Debian/Ubuntu
sudo apt install rclone

# Vérifier la version installée
rclone version
Note : La version disponible dans les dépôts apt est souvent en retard. Préférez le script officiel pour bénéficier de la dernière version stable.

Configuration d’un remote

RClone appelle « remote » chaque connexion à un service distant. La configuration se fait via un assistant interactif qui vous guide étape par étape : choix du fournisseur, saisie des identifiants OAuth ou des clés API, paramétrage du chiffrement éventuel.

rclone config

La configuration est sauvegardée dans ~/.config/rclone/rclone.conf (Linux/macOS) ou %APPDATA%\rclone\rclone.conf (Windows). Ce fichier texte peut être édité manuellement ou copié d’un serveur à l’autre.

rclone config — Terminal $ rclone config No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n name> mondrive
Session interactive rclone config dans le terminal
# Lister les remotes configurés
rclone listremotes

# Afficher le détail de la configuration
rclone config show

# Tester la connexion à un remote
rclone lsd mondrive:

Liste des remotes supportés

RClone supporte plus de 70 fournisseurs de stockage, regroupés en grandes catégories. Chaque remote est configuré une fois dans rclone.conf, puis utilisable par toutes les commandes rclone.

Stockage Cloud grand public

  • drive Google Drive
  • onedrive Microsoft OneDrive
  • dropbox Dropbox
  • box Box.com
  • mega Mega.nz
  • pcloud pCloud
  • yandex Yandex Disk
  • koofr Koofr
  • hidrive STRATO HiDrive
  • jottacloud Jottacloud

Compatible S3 (Amazon et compatibles)

  • s3 Amazon AWS S3
  • s3 MinIO (auto-hébergé)
  • s3 Backblaze B2 (mode S3)
  • s3 Wasabi
  • s3 OVH Object Storage
  • s3 Scaleway
  • s3 Cloudflare R2
  • s3 DigitalOcean Spaces
  • s3 Alibaba OSS
  • s3 Tencent COS

Protocoles réseau standard

  • sftp SFTP (SSH)
  • ftp FTP classique
  • http HTTP (lecture seule)
  • webdav WebDAV (Nextcloud, ownCloud…)
  • smb SMB / Samba / CIFS
  • nfs NFS (depuis v1.65)

Stockage objet spécifiques

  • b2 Backblaze B2 (natif)
  • swift OpenStack Swift
  • azureblob Azure Blob Storage
  • azurefiles Azure Files
  • gs Google Cloud Storage

Local et couches virtuelles

  • local Disque local / NAS
  • crypt Chiffrement transparent
  • union Fusion de plusieurs remotes
  • chunker Découpe les gros fichiers
  • compress Compression à la volée
  • cache Cache local d’un remote
  • hasher Checksums personnalisés

Stockage décentralisé & divers

  • storj Storj (décentralisé)
  • sia Sia (blockchain)
  • putio Put.io
  • sharefile Citrix ShareFile
  • zoho Zoho WorkDrive
  • mailru Mail.ru Cloud
  • opendrive OpenDrive
Astuce : le type s3 est générique. En choisissant le bon provider (Minio, Wasabi, Cloudflare R2…), rclone adapte automatiquement l’API. Pour lister tous les types disponibles sur votre version : rclone backend list.

Les commandes essentielles

Toutes les commandes rclone suivent la même structure : rclone <commande> <source> <destination> [options]. La source ou la destination peut être locale (chemin) ou distante (nom-du-remote:chemin).

Commande Rôle Exemple Supprime ?
copy Copie les fichiers nouveaux ou modifiés sans toucher à la destination rclone copy src/ remote:dest/ Non
sync Rend la destination identique à la source (supprime ce qui n’est plus en source) rclone sync src/ remote:dest/ Oui
bisync Synchronisation bidirectionnelle (les deux côtés se mettent à jour mutuellement) rclone bisync src/ remote:dest/ Selon conf.
move Déplace les fichiers vers la destination (supprime la source après transfert) rclone move src/ remote:dest/ Source
ls Liste les fichiers avec taille (en octets) rclone ls remote:dossier/ Non
lsl Liste les fichiers avec taille, date et checksum rclone lsl remote:dossier/ Non
lsd Liste uniquement les répertoires (directories) rclone lsd remote: Non
lsf Liste les fichiers en format parseable (scripts) rclone lsf remote: --format "nst" Non
check Compare source et destination par checksum, sans transférer rclone check src/ remote:dest/ Non
mount Monte un remote comme un répertoire local via FUSE rclone mount remote: /mnt/cloud Non
serve Expose un remote via HTTP, WebDAV, SFTP, DLNA… rclone serve webdav remote: Non
mkdir Crée un répertoire sur le remote rclone mkdir remote:nouveau-dossier Non
rmdir Supprime un répertoire vide sur le remote rclone rmdir remote:vieux-dossier Oui
purge Supprime un répertoire et tout son contenu (attention !) rclone purge remote:dossier Tout
delete Supprime les fichiers correspondant à un filtre rclone delete remote:dossier --include "*.tmp" Oui
size Calcule la taille et le nombre de fichiers d’un chemin rclone size remote:dossier/ Non
about Affiche l’espace utilisé/disponible sur le remote rclone about remote: Non
cat Affiche le contenu d’un fichier distant dans le terminal rclone cat remote:fichier.txt Non
copyto Copie un fichier unique avec renommage possible rclone copyto src/a.txt remote:b.txt Non
moveto Déplace un fichier unique avec renommage possible rclone moveto src/a.txt remote:b.txt Source
cryptcheck Vérifie l’intégrité d’un remote chiffré (crypt) rclone cryptcheck src/ crypt: Non
dedupe Détecte et résout les fichiers en double (Google Drive) rclone dedupe remote:dossier Doublons

Options (flags) les plus utiles

# Simulation sans rien modifier (toujours tester avant)
rclone sync /home/jean/docs mondrive:backup --dry-run

# Affichage de la progression en temps réel
rclone copy /data mondrive:data --progress

# Limiter la bande passante à 10 Mbit/s
rclone sync /data mondrive:data --bwlimit 10M

# Bande passante adaptée selon les horaires (Mo/s)
rclone sync /data mondrive:data --bwlimit "08:00,512k 22:00,off 23:00,10M"

# Transferts parallèles (défaut : 4)
rclone copy /data mondrive:data --transfers 8

# Nombre de réessais en cas d'erreur
rclone copy /data mondrive:data --retries 5

# Exclure des fichiers ou répertoires
rclone sync /data mondrive:data --exclude "*.tmp" --exclude ".cache/**"

# Inclure uniquement certains fichiers
rclone copy /data mondrive:data --include "*.pdf" --include "*.jpg"

# Journalisation dans un fichier
rclone sync /data mondrive:data --log-file /var/log/rclone.log --log-level INFO

# Vérification des checksums après transfert
rclone copy /data mondrive:data --checksum

# Ne pas modifier les fichiers plus récents en destination
rclone sync /data mondrive:data --update

# Ignorer les fichiers existants (ne pas réécrire)
rclone copy /data mondrive:data --ignore-existing

# Afficher les statistiques toutes les 5 secondes
rclone copy /data mondrive:data --stats 5s

Comprendre la synchronisation

SOURCE /home/backups/ rapport_2025.pdf config_new.tar.gz DESTINATION mondrive:backups/ rapport_2025.pdf ancien.tar.gz RClone rclone sync Fichier copié / mis à jour Fichier supprimé (sync uniquement) NOUVEAU SUPPRIME
rclone sync : les nouveaux fichiers sont copiés, les fichiers absents de la source sont supprimés de la destination
Attention avec sync : contrairement à copy, la commande sync supprime dans la destination tout ce qui n’est plus présent en source. Utilisez toujours --dry-run en premier pour contrôler l’opération. L’option --backup-dir permet de déplacer les fichiers supprimés vers une archive plutôt que de les effacer définitivement.

Chiffrement avec le remote Crypt

RClone intègre un mécanisme de chiffrement transparent via un type de remote spécial appelé crypt. Les données sont chiffrées avant d’être envoyées vers n’importe quel autre remote. Même votre fournisseur cloud ne peut pas lire vos fichiers. Le chiffrement utilisé est AES-256-CTR avec authentification Poly1305.

Fichier clair rapport.pdf Remote CRYPT Chiffrement AES-256 + noms de fichiers Fichier chiffre a8f3c2…xjk.bin Cloud distant 1. Source 2. Chiffrement local 3. Donnees illisibles 4. Stockage
Chaîne de chiffrement RClone Crypt : les données sont chiffrées localement avant tout envoi vers le cloud
# Configurer un remote chiffré par-dessus Google Drive
rclone config
# Choisir "New remote" → type "crypt" → pointer vers "mondrive:vault"
# Entrer une passphrase (bien la conserver !)

# Copier des données via le remote chiffré
rclone copy /home/jean/docs secret:docs --progress

# Vérifier l'intégrité des données chiffrées
rclone cryptcheck /home/jean/docs secret:docs

Automatisation avec Cron

RClone s’intègre parfaitement dans une tâche planifiée. Il est recommandé d’utiliser un fichier de log dédié et l’option --log-level INFO pour suivre les opérations.

# Éditer la crontab de l'utilisateur
crontab -e

# Sauvegarde chaque nuit à 03h00
0 3 * * * rclone sync /home/backups mondrive:backups --log-file /var/log/rclone.log --log-level INFO

# Sauvegarde toutes les 6 heures avec limitation de bande passante
0 */6 * * * rclone copy /var/www/html minio:www-backup --bwlimit 5M --log-file /var/log/rclone-www.log

# Rotation des logs (garder 7 jours) — dans /etc/logrotate.d/rclone
# /var/log/rclone.log { daily rotate 7 compress missingok }

Monter un remote comme un disque (FUSE)

La commande rclone mount permet d’accéder à votre stockage distant comme s’il s’agissait d’un répertoire local, grâce à FUSE. Tous les programmes peuvent alors lire et écrire sur le cloud de façon transparente.

# Installation de fuse3
sudo apt install fuse3

# Créer le point de montage
mkdir -p /mnt/gdrive

# Monter le remote en arrière-plan avec cache en écriture
rclone mount mondrive: /mnt/gdrive --daemon --vfs-cache-mode writes

# Montage avec cache complet (recommandé pour les gros fichiers)
rclone mount mondrive: /mnt/gdrive --daemon --vfs-cache-mode full --vfs-cache-max-size 5G

# Démonter proprement
fusermount -u /mnt/gdrive

Pour un montage automatique au démarrage, créez un service systemd dans /etc/systemd/system/rclone-mount.service pointant vers votre script de montage.

Pour aller plus loin

RClone est un outil riche dont la documentation officielle est disponible sur rclone.org. Parmi les fonctionnalités avancées : le backend Union (fusionner plusieurs remotes en lecture/écriture), les filtres complexes via fichier de règles (--filter-from), la gestion de versions sur S3, le mode serveur pour exposer un WebDAV ou HTTP sur votre réseau local, et la commande rclone rc pour piloter rclone via une API REST.

Ressources officielles : Documentation complète sur https://rclone.org/docs/ — Forum communautaire sur https://forum.rclone.org/