| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| rclone [Le 26/06/2025, 15:27] – [Analyse] typo krodelabestiole | rclone [Le 14/04/2026, 23:18] (Version actuelle) – màj lien interne krodelabestiole |
|---|
| |
| Grand frère de R**CLONE**, **[[:rsync]]** est très largement utilisé sur Linux pour la copie et synchronisation de fichiers, que ce soit localement ou via le protocole [[:SSH]].\\ | Grand frère de R**CLONE**, **[[: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èrent 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 [[:Samba|CIFS / SMB]]). | 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èrent 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 [[:SMB]]). |
| |
| R**CLONE** est extrêmement performant dans toutes ces situations sans nécessiter d'optimisation particulière (en WebDAV on peut s'attendre à multiplier les vitesses de transferts de **rsync** ou de certains clients par 50 !). | R**CLONE** est extrêmement performant dans toutes ces situations sans nécessiter d'optimisation particulière (en WebDAV on peut s'attendre à multiplier les vitesses de transferts de **rsync** ou de certains clients par 50 !). |
| |
| * les systèmes de fichiers locaux | * les systèmes de fichiers locaux |
| * [[:Samba|SMB / CIFS]] (partages locaux, Windows, Linux ou MacOS) | * [[:SMB]] (partages locaux, Windows, Linux ou MacOS) |
| * [[:WebDAV]] | * [[:WebDAV]] |
| * [[:ssh#monter_un_repertoire_distant_navigation_via_sftp_secure_file_transfer_protocol|SFTP]] ([[:SSH]]) | * [[:SFTP]] ([[:SSH]]) |
| * [[:FTP]] | * [[:FTP]] |
| * [[wpfr>HTTP]] | * [[wpfr>HTTP]] |
| * OVH | * OVH |
| * Synology C2 Object Storage | * Synology C2 Object Storage |
| * Google Drive, Google Cloud Storage, Google Photos | * [[:Google Drive]], Google Cloud Storage, Google Photos |
| * Amazon S3 | * Amazon S3 |
| * Microsoft OneDrive | * Microsoft [[:OneDrive]] |
| * OpenStack Swift | * OpenStack Swift |
| * Oracle Cloud Storage | * Oracle Cloud Storage |
| * Dropbox | * [[:Dropbox]] |
| * Proton Drive | * Proton Drive |
| * Box | * Box |
| * Internet Archive | * Internet Archive |
| * put.io | * put.io |
| * Mega | * [[:Mega]] |
| * etc. | * etc. |
| |
| ===== Installation ===== | ===== Installation ===== |
| |
| R**CLONE** est disponible dans les [[:depots#dépôts officiels]] d'Ubuntu.\\ | * R**CLONE** est disponible dans les [[#dépôts officiels APT]] d'Ubuntu. |
| Pour l'installer il suffit donc d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>rclone]]''. | * Il est aussi distribué par ses développeurs en tant que simple fichier binaire isolé, et peut donc s'[[#Installation manuelle|installer manuellement]]. |
| | * Il existe aussi un paquet [[#snap]] non-officiel. |
| |
| R**CLONE** est aussi disponible en [[:Snap]] depuis [[https://snapcraft.io/rclone|Snapcraft]]. | <note tip> |
| | Vous trouverez aussi des informations concernant le téléchargement et l'installation de R**CLONE** en anglais sur son [[https://rclone.org/install/#linux|site officiel]]. |
| | </note> |
| | |
| | Pour l'installer vous avez donc le choix entre l'une de ces méthodes : |
| | |
| | ==== Dépôts officiels APT ==== |
| | |
| | R**CLONE** est disponible dans les [[:depots#dépôts officiels]] d'Ubuntu. |
| | |
| | Pour l'obtenir il suffit donc d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>rclone]]''. |
| | |
| | ==== Installation manuelle ==== |
| | |
| | R**CLONE** est aussi distribué par ses développeurs sur [[https://github.com/rclone/rclone/releases/|GitHub]]. |
| | |
| | Pour l'installer on peut donc simplement extraire le fichier zip correspondant, et placer le fichier ''rclone'' en ajustant ses [[:permissions]] pour le rendre exécutable, soit dans le répertoire des [[:arborescence#binaires personnels]] ''~/.local/bin/'', soit avec les [[:sudo|droits d'administrateur]] dans le répertoire ''/usr/local/bin/''. |
| | |
| | Cette dernière méthode en ligne de commande : |
| | <code>wget https://github.com/rclone/rclone/releases/download/v1.72.0/rclone-v1.72.0-linux-amd64.zip |
| | unzip rclone-v1.72.0-linux-amd64.zip |
| | sudo cp rclone-v1.72.0-linux-amd64/rclone /usr/local/bin/ |
| | sudo chmod +x /usr/local/bin/rclone |
| | sudo rclone self-update |
| | rm -rf rclone-v1.72.0-linux-amd64 rclone-v1.72.0-linux-amd64.zip</code> |
| | ([[:tutoriel:comment_installer_un_paquet|Installez les paquets]] ''[[apt>wget]]'' et ''[[apt>zip]]'' si nécessaire.) |
| | |
| | ==== Snap ==== |
| | |
| | R**CLONE** est disponible en [[:Snap]] depuis [[https://snapcraft.io/rclone|Snapcraft]]. Cette distribution n'est cependant pas officielle. Cette méthode n'est donc pas recommandée. |
| | |
| | On peut l'installer sur Ubuntu simplement en installant ''rclone'' depuis le [[:snap store|centre d'applications (Snap Store)]], ou en installant le paquet ''rclone'' en ligne de commande : |
| | <code>snap install rclone</code> |
| |
| ==== Dernière version ==== | ==== Dernière version ==== |
| Il est désormais possible d'utiliser R**CLONE** au moyen d'une [[#interface graphique]], ou depuis un autre logiciel (comme [[:deja-dup|Déjà Dup]] ou [[:Restic]] par ex.), mais il est initialement pensé pour être utilisé en ligne de commande. | Il est désormais possible d'utiliser R**CLONE** au moyen d'une [[#interface graphique]], ou depuis un autre logiciel (comme [[:deja-dup|Déjà Dup]] ou [[:Restic]] par ex.), mais il est initialement pensé pour être utilisé en ligne de commande. |
| |
| Depuis un [[:terminal]], R**CLONE** s'utilise avec la commande ''rclone'' suivie d'une sous-commande correspondant à une opération (ou action).\\ | Depuis un [[:terminal]], R**CLONE** s'utilise avec la commande ''rclone'' suivie d'une sous-commande correspondant à une opération (ou action), elle-même souvent suivie de paramètres, à commencer généralement par l'identifiant du stockage distant (//remote// en anglais), en l'occurrence ''monServeur:'' pour l'exemple de cette documentation.\\ |
| On peut afficher la liste des (sous-)commandes disponibles en tapant simplement ''rclone'' dans un [[:terminal]]. | On peut afficher la liste des (sous-)commandes disponibles en tapant simplement ''rclone'' dans un [[:terminal]]. |
| |
| <code>rclone sync --update --progress [source] [destination]</code> | <code>rclone sync --update --progress [source] [destination]</code> |
| |
| Chaque ''[source]'' ou ''[destination]'' peut être un [[:chemins|chemin]] //local// ou //distant//. | * ''%%--%%update'' sert à ne pas écraser les fichiers plus récents sur la destination, et ''%%--%%progress'' à afficher la progression. |
| | * ''%%--%%update'' peut être abrégé en ''-u'', et ''%%--%%progress'' en ''-P''. On peut donc simplifier la commande en : <code>rclone sync -uP [source] [destination]</code> |
| | * Chaque ''[source]'' ou ''[destination]'' peut être un [[:chemins|chemin]] //local// ou //distant//. |
| |
| Les chemins distants seront de la forme ''[service]:[chemin]'', ''[service]'' étant le nom du service choisi lors de la configuration.\\ | Les chemins distants sont de la forme ''[service]:[chemin]'', ''[service]'' étant l'identifiant du service de stockage choisi lors de la configuration.\\ |
| Par exemple : ''monServeur:/chemin/absolu'' ou ''monServeur:chemin/relatif''. | Par exemple : ''monServeur:/chemin/absolu'' ou ''monServeur:chemin/relatif''. |
| |
| ==== Montage ==== | ==== Montage ==== |
| |
| On peut monter un espace en système de fichier avec la commande ''[[https://rclone.org/commands/rclone_mount/|rclone mount]]'' : | On peut [[:montage|monter]] un espace distant en système de fichier avec la commande ''[[https://rclone.org/commands/rclone_mount/|rclone mount]]'' : |
| <code>rclone mount [service]:[distant] [local]</code> | <code>rclone mount [service]:[distant] [local]</code> |
| |
| |
| === Montage automatique === | === Montage automatique === |
| | <note important>Attention, les méthodes citées ci-dessous semblent dépassées sur les version Ubuntu 24+. Référez-vous à la documentations de la version actuelle de Rclone et Systemd.</note> |
| |
| Il est possible d'utiliser R**CLONE** avec [[:systemd]], [[:autofs]], ou [[:mount_fstab|fstab]]. | Il est possible d'utiliser R**CLONE** avec [[:systemd]], [[:autofs]], ou [[:fstab]]. |
| |
| Pour cela il faut créer des [[:lien_physique_et_symbolique|liens symboliques]] avec les commandes suivantes : | Pour cela il faut créer des [[:lien_physique_et_symbolique|liens symboliques]] avec les commandes suivantes : |
| Vous pouvez consultez la [[https://github.com/rclone/rclone/wiki/rclone-mount-helper-script|documentation en anglais]] à ce sujet. | Vous pouvez consultez la [[https://github.com/rclone/rclone/wiki/rclone-mount-helper-script|documentation en anglais]] à ce sujet. |
| |
| Pour monter automatiquement un volume, [[:mount_fstab|fstab]] est la méthode généralement recommandée pour les humains, [[:systemd]] pour les scripts et les outils.(([[wpfr>Stack_Exchange_Network|Unix & Linux on StackExchange]] : //[[https://unix.stackexchange.com/a/427286/324673|Is there any reason to move away from fstab on a systemd system?]]//)) | Pour [[:montage|monter]] automatiquement un volume, [[:fstab]] est la méthode généralement recommandée pour les humains, [[:systemd]] pour les scripts et les outils.(([[wpfr>Stack_Exchange_Network|Unix & Linux on StackExchange]] : //[[https://unix.stackexchange.com/a/427286/324673|Is there any reason to move away from fstab on a systemd system?]]//)) |
| |
| Voici 2 méthodes qui permettent d'arriver au même résultat : nous allons monter le stockage distant ''monServeur'' dans le répertoire ''/media/monserveur''. Ne suivez que l'une des 2 méthodes : | Voici 2 méthodes qui permettent d'arriver au même résultat : nous allons monter le stockage distant ''monServeur'' dans le répertoire ''/mnt/monserveur''. Ne suivez que l'une des 2 méthodes : |
| |
| == fstab == | == fstab == |
| |
| [[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] ''/etc/fstab'' avec les [[:sudo|droits d'administration]] afin de lui ajouter la ligne suivante : | [[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] ''[[:fstab|/etc/fstab]]'' avec les [[:sudo|droits d'administration]] afin de lui ajouter la ligne suivante : |
| |
| <file - /etc/fstab> | <file - /etc/fstab> |
| monServeur: /media/monserveur rclone rw,user,umask=000,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone,allow_other,uid=1000,gid=1000 0 0 | monServeur: /mnt/monserveur rclone rw,user,umask=000,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone,allow_other,uid=1000,gid=1000 0 0 |
| </file> | </file> |
| |
| Vous pouvez dès lors monter le volume : | Vous pouvez dès lors monter le volume : |
| <code> | <code> |
| sudo mount /media/monserveur | sudo mount /mnt/monserveur |
| </code> | </code> |
| |
| WantedBy=multi-user.target | WantedBy=multi-user.target |
| </file> | </file> |
| Ce fichier sert à s'assurer que le réseau est disponible avant de monter l'espace de stockage distant. | Ce fichier sert à s'assurer que le réseau est disponible avant de [[:montage|monter]] l'espace de stockage distant. |
| |
| Toujours avec les [[:sudo|droits d'administration]], créez ensuite un autre fichier dans le répertoire ''/etc/systemd/system/'' qui aura le nom du chemin dans lequel vous voulez monter le stockage, avec l'extension ''.mount''. Par ex. pour ''/media/monserveur'' le fichier sera ''/etc/systemd/system/media-monserveur.mount'' : | Toujours avec les [[:sudo|droits d'administration]], créez ensuite un autre fichier dans le répertoire ''/etc/systemd/system/'' qui aura le nom du chemin dans lequel vous voulez monter le stockage, avec l'extension ''.mount''. Par ex. pour ''/mnt/monserveur'' le fichier sera ''/etc/systemd/system/mnt-monserveur.mount'' : |
| <file - media-monserveur.mount> | <file - mnt-monserveur.mount> |
| [Unit] | [Unit] |
| Description=Monte monServeur | Description=Monte monServeur |
| Type=rclone | Type=rclone |
| What=monServeur: | What=monServeur: |
| Where=/media/monserveur | Where=/mnt/monserveur |
| Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone | Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone |
| TimeoutSec=10 | TimeoutSec=10 |
| WantedBy=multi-user.target | WantedBy=multi-user.target |
| </file> | </file> |
| En remplaçant partout ''monserveur'' et ''monServeur'' par ce que vous aurez choisi. | En remplaçant partout ''monserveur'' et ''monServeur'' par l'identifiant vous aurez choisi. |
| |
| Activez ensuite ces modifications avec ces commandes : | Activez ensuite ces modifications avec ces commandes : |
| sudo systemctl daemon-reload | sudo systemctl daemon-reload |
| sudo systemctl enable network-online | sudo systemctl enable network-online |
| sudo systemctl enable media-monserveur.mount | sudo systemctl enable mnt-monserveur.mount |
| </code> | </code> |
| puis redémarrez. | puis redémarrez. |
| Vous pouvez aussi tester le montage avec : | Vous pouvez aussi tester le montage avec : |
| <code> | <code> |
| sudo systemctl start media-monserveur.mount | sudo systemctl start mnt-monserveur.mount |
| </code> | </code> |
| |
| ==== Serveur ==== | ==== Serveur ==== |
| |
| * La commande ''[[https://rclone.org/commands/rclone_serve/|rclone serve]]'' permet d'utiliser R**CLONE** comme [[:serveur]], pour mettre à disposition le stockage de différentes manières.\\ Il est ainsi possible de monter facilement un serveur web (HTTP), [[:WebDAV]], [[:DLNA]], [[:ssh#monter_un_repertoire_distant_navigation_via_sftp_secure_file_transfer_protocol|SFTP]], [[:FTP]], [[:docker#manipulation_de_volumes|volume docker]] et [[https://rclone.org/commands/rclone_serve/#see-also|quelques autres protocoles]]. Cela permet de convertir un stockage distant d'un certain type (par ex. un service propriétaire plus ou moins cryptique) à un autre (un protocole ouvert largement répandu) ! | * La commande ''[[https://rclone.org/commands/rclone_serve/|rclone serve]]'' permet d'utiliser R**CLONE** comme [[:serveur]], pour mettre à disposition le stockage de différentes manières.\\ Il est ainsi possible de monter facilement un serveur web (HTTP), [[:WebDAV]], [[:DLNA]], [[:SFTP]], [[:FTP]], [[:docker#manipulation_de_volumes|volume docker]] et [[https://rclone.org/commands/rclone_serve/#see-also|quelques autres protocoles]]. Cela permet de convertir un stockage distant d'un certain type (par ex. un service propriétaire plus ou moins cryptique) à un autre (un protocole ouvert largement répandu) ! |
| |
| * ''[[https://rclone.org/commands/rclone_link/|rclone link]]'' permet de générer un lien public pour partager un fichier ou un répertoire. | * ''[[https://rclone.org/commands/rclone_link/|rclone link]]'' permet de générer un lien public pour partager un fichier ou un répertoire. |
| * Tutoriel : [[:tutoriel:monter_un_cloud|Monter un cloud comme disque local avec rclone]] | * Tutoriel : [[:tutoriel:monter_un_cloud|Monter un cloud comme disque local avec rclone]] |
| * [[:Restic]] permet d'utiliser n'importe quel stockage distant R**CLONE** pour y effectuer des sauvegardes de manière particulièrement simple et performante. | * [[:Restic]] permet d'utiliser n'importe quel stockage distant R**CLONE** pour y effectuer des sauvegardes de manière particulièrement simple et performante. |
| | * Tutoriel (déc 2025) : [[tutoriel:monter_kdrive_avec_rclone|Monter kDrive (Infomaniak) sur Ubuntu avec Rclone (via WebDAV)]] |
| |
| ---- | ---- |
| //Contributeur : [[:utilisateurs:krodelabestiole]]// | //Contributeur : [[:utilisateurs:krodelabestiole]]// |