Aller au contenu
Cloud medium

Gérer vos données cloud avec rclone

14 min de lecture

logo rclone

Rclone copie, synchronise et sauvegarde vos fichiers entre votre machine et plus de 70 services cloud (Google Drive, Dropbox, Amazon S3, MinIO…) ou entre deux clouds directement. C’est l’équivalent de rsync pour le cloud, en ligne de commande.

Avec rclone, vous pouvez :

  • Synchroniser un dossier local vers un bucket S3 ou Google Drive
  • Sauvegarder automatiquement vos données avec chiffrement
  • Migrer des fichiers entre deux providers cloud sans téléchargement local
  • Monter un stockage cloud comme un disque local

Rclone s’installe facilement sur Linux, macOS et Windows.

Le script officiel installe la dernière version :

Fenêtre de terminal
curl https://rclone.org/install.sh | sudo bash

Ou via le gestionnaire de paquets (version potentiellement plus ancienne) :

Fenêtre de terminal
# Debian/Ubuntu
sudo apt install rclone
# Fedora
sudo dnf install rclone
# Arch Linux
sudo pacman -S rclone

Vérifiez l’installation :

Fenêtre de terminal
rclone version
Sortie attendue
rclone v1.72.1
- os/version: ubuntu 24.04 (64 bit)
- os/kernel: 6.8.0-90-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.25.5
- go/linking: static
- go/tags: none

Pour tester les commandes de ce guide, déployons rapidement MinIO (stockage S3-compatible) sur minikube. Vous pourrez ensuite remplacer l’endpoint par celui de votre provider (AWS S3, Outscale, Scaleway…).

  1. Démarrez minikube (si ce n’est pas déjà fait) :

    Fenêtre de terminal
    minikube start
  2. Déployez MinIO :

    Fenêtre de terminal
    kubectl create namespace minio
    kubectl run minio --image=minio/minio:latest -n minio \
    --env="MINIO_ROOT_USER=minioadmin" \
    --env="MINIO_ROOT_PASSWORD=minioadmin" \
    -- server /data --console-address ":9001"
  3. Exposez le service :

    Fenêtre de terminal
    kubectl expose pod minio -n minio --port=9000 --target-port=9000 --type=NodePort --name=minio-api
  4. Récupérez l’URL d’accès :

    Fenêtre de terminal
    minikube service minio-api -n minio --url
    Exemple de sortie
    http://192.168.49.2:31019
  5. Configurez rclone avec cet endpoint :

    Fenêtre de terminal
    cat >> ~/.config/rclone/rclone.conf << 'EOF'
    [minio]
    type = s3
    provider = Minio
    access_key_id = minioadmin
    secret_access_key = minioadmin
    endpoint = http://192.168.49.2:31019
    EOF

    Remplacez l’URL par celle obtenue à l’étape précédente.

  6. Testez la connexion :

    Fenêtre de terminal
    rclone lsd minio:

Avant de configurer rclone, comprenez ces deux concepts essentiels.

Un remote est un emplacement de stockage configuré dans rclone. Il peut être :

  • Un service cloud (Google Drive, Dropbox, Amazon S3, MinIO…)
  • Un serveur distant (SFTP, FTP, WebDAV)
  • Un stockage local (pour les tests ou le chiffrement)

Chaque remote a un nom que vous utilisez dans les commandes, suivi de : :

Fenêtre de terminal
rclone ls mondrive: # Liste le contenu du remote "mondrive"
rclone ls minio:mon-bucket # Liste le bucket "mon-bucket" sur le remote "minio"

Toutes les commandes rclone suivent le pattern source → destination :

Fenêtre de terminal
rclone copy /local/dossier remote:bucket/chemin
# ↑ source ↑ destination

Comparaison entre rclone sync (unidirectionnel) et rclone bisync (bidirectionnel)

La configuration se fait via rclone config qui lance un assistant interactif.

  1. Lancez l’assistant :

    Fenêtre de terminal
    rclone config
  2. Créez un nouveau remote en tapant n (new remote)

  3. Donnez-lui un nom (ex: minio, gdrive, dropbox)

  4. Choisissez le type de stockage parmi la liste (ex: s3 pour S3/MinIO, drive pour Google Drive)

  5. Répondez aux questions spécifiques au provider (credentials, région, endpoint…)

  6. Testez la connexion :

    Fenêtre de terminal
    rclone lsd monremote:

Pour un stockage S3-compatible comme MinIO ou Outscale OOS :

Fenêtre de terminal
rclone config
n) New remote
name> minio
Storage> s3
provider> Minio
env_auth> false
access_key_id> VOTRE_ACCESS_KEY
secret_access_key> VOTRE_SECRET_KEY
endpoint> http://minio.example.com:9000

Ou ajoutez directement dans ~/.config/rclone/rclone.conf :

~/.config/rclone/rclone.conf
[minio]
type = s3
provider = Minio
access_key_id = VOTRE_ACCESS_KEY
secret_access_key = VOTRE_SECRET_KEY
endpoint = http://minio.example.com:9000

Pour éviter de stocker les mots de passe en clair, utilisez rclone obscure :

Fenêtre de terminal
rclone obscure "mon-mot-de-passe-secret"
Sortie
bXItbW90LWRlLXBhc3NlLXNlY3JldA==

Ces commandes permettent d’explorer et organiser vos fichiers.

Fenêtre de terminal
# Lister les buckets/dossiers racine
rclone lsd minio:
# Lister tous les fichiers (récursif)
rclone ls minio:mon-bucket/
# Lister avec détails (taille, date)
rclone lsl minio:mon-bucket/
# Format JSON pour scripts
rclone lsjson minio:mon-bucket/
Exemple de sortie lsd
-1 2026-01-23 14:39:22 -1 mon-bucket
-1 2026-01-23 15:00:00 -1 backups
Fenêtre de terminal
# Créer un bucket/dossier
rclone mkdir minio:nouveau-bucket
# Créer un fichier vide (ou mettre à jour sa date)
rclone touch minio:mon-bucket/nouveau-fichier.txt
Fenêtre de terminal
rclone size minio:mon-bucket/
Sortie
Total objects: 42
Total size: 1.234 GiB (1325432678 Byte)

Ces commandes copient, déplacent ou synchronisent vos fichiers.

rclone copy copie les fichiers sans supprimer ceux qui n’existent plus dans la source.

Fenêtre de terminal
# Copier un dossier local vers le cloud
rclone copy /home/user/documents/ minio:backups/documents/
# Copier entre deux clouds
rclone copy gdrive:photos/ dropbox:photos-backup/
# Copier un fichier avec un nouveau nom
rclone copyto /local/rapport.pdf minio:backups/rapport-2026.pdf

rclone move copie puis supprime les fichiers source après transfert réussi.

Fenêtre de terminal
# Archiver des logs vers S3 (supprime les locaux)
rclone move /var/log/archive/ minio:logs-archive/
# Déplacer entre clouds
rclone move dropbox:old-project/ gdrive:archives/old-project/

rclone sync rend la destination identique à la source. Les fichiers absents de la source sont supprimés de la destination.

Fenêtre de terminal
# Synchroniser local → cloud
rclone sync /home/user/projets/ minio:projets-backup/

Pour conserver les fichiers supprimés dans un dossier de sauvegarde :

Fenêtre de terminal
rclone sync /source/ minio:dest/ --backup-dir minio:dest-deleted/

Contrairement à sync (unidirectionnel), bisync propage les modifications des deux côtés :

Fenêtre de terminal
# Première exécution : initialisation obligatoire
rclone bisync /local/dossier/ minio:bucket/ --resync
# Exécutions suivantes : sync bidirectionnel
rclone bisync /local/dossier/ minio:bucket/

Cas d’usage : synchroniser un dossier de travail entre votre laptop et le cloud, pour y accéder depuis plusieurs machines.

Si le même fichier est modifié des deux côtés entre deux bisync :

Fenêtre de terminal
# Résolution automatique : garder le plus récent
rclone bisync /local/ remote:/ --conflict-resolve newer
# Ou renommer les conflits
rclone bisync /local/ remote:/ --conflict-resolve rename

rclone check compare les fichiers entre deux emplacements (taille et hash) :

Fenêtre de terminal
rclone check /local/dossier/ minio:bucket/
Sortie
2026/01/23 14:41:02 NOTICE: S3 bucket mon-bucket: 0 differences found
2026/01/23 14:41:02 NOTICE: S3 bucket mon-bucket: 42 matching files
Fenêtre de terminal
# Supprimer les fichiers (garde les dossiers vides)
rclone delete minio:bucket/old-data/
# Supprimer un dossier et tout son contenu
rclone purge minio:bucket/old-data/
# Supprimer uniquement les dossiers vides
rclone rmdirs minio:bucket/

Contrôlez précisément quels fichiers sont traités avec les filtres.

Fenêtre de terminal
# Copier uniquement les images
rclone copy /photos/ minio:photos/ --include "*.jpg" --include "*.png"
# Exclure les fichiers temporaires
rclone sync /projet/ minio:projet/ --exclude "*.tmp" --exclude ".git/**"
# Combiner inclusion et exclusion
rclone copy /data/ minio:data/ --include "*.log" --exclude "*"

Pour des règles complexes, utilisez un fichier :

filters.txt
# Inclure les documents
+ *.pdf
+ *.docx
+ /important/**
# Exclure le reste
- *.tmp
- .git/**
- node_modules/**
- *
Fenêtre de terminal
rclone sync /projet/ minio:backup/ --filter-from filters.txt

Toujours tester vos filtres avant exécution :

Fenêtre de terminal
rclone sync /source/ remote:dest/ --filter-from filters.txt --dry-run -v
Fenêtre de terminal
# Monter Google Drive sur /mnt/gdrive
rclone mount gdrive: /mnt/gdrive --daemon
# Avec cache pour de meilleures performances
rclone mount gdrive: /mnt/gdrive --vfs-cache-mode full --daemon
Fenêtre de terminal
# Serveur HTTP simple
rclone serve http minio:bucket/ --addr :8080
# Serveur WebDAV
rclone serve webdav minio:bucket/ --addr :8080
  • Remote = stockage configuré : un remote est un alias vers un service cloud. Utilisez remote:chemin dans toutes les commandes.
  • sync ≠ copy : copy ajoute des fichiers, sync rend la destination identique (supprime les extras), bisync synchronise dans les deux sens.
  • —dry-run toujours : avant tout sync ou delete, prévisualisez avec --dry-run pour éviter les mauvaises surprises.
  • Filtres puissants : utilisez --include, --exclude et --filter-from pour cibler précisément les fichiers.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.