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.
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
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 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
driveGoogle DriveonedriveMicrosoft OneDrivedropboxDropboxboxBox.commegaMega.nzpcloudpCloudyandexYandex DiskkoofrKoofrhidriveSTRATO HiDrivejottacloudJottacloud
Compatible S3 (Amazon et compatibles)
s3Amazon AWS S3s3MinIO (auto-hébergé)s3Backblaze B2 (mode S3)s3Wasabis3OVH Object Storages3Scaleways3Cloudflare R2s3DigitalOcean Spacess3Alibaba OSSs3Tencent COS
Protocoles réseau standard
sftpSFTP (SSH)ftpFTP classiquehttpHTTP (lecture seule)webdavWebDAV (Nextcloud, ownCloud…)smbSMB / Samba / CIFSnfsNFS (depuis v1.65)
Stockage objet spécifiques
b2Backblaze B2 (natif)swiftOpenStack SwiftazureblobAzure Blob StorageazurefilesAzure FilesgsGoogle Cloud Storage
Local et couches virtuelles
localDisque local / NAScryptChiffrement transparentunionFusion de plusieurs remoteschunkerDécoupe les gros fichierscompressCompression à la voléecacheCache local d’un remotehasherChecksums personnalisés
Stockage décentralisé & divers
storjStorj (décentralisé)siaSia (blockchain)putioPut.iosharefileCitrix ShareFilezohoZoho WorkDrivemailruMail.ru CloudopendriveOpenDrive
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
rclone sync : les nouveaux fichiers sont copiés, les fichiers absents de la source sont supprimés de la destinationcopy, 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.
# 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.
https://rclone.org/docs/ — Forum communautaire sur https://forum.rclone.org/