Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
rclone [Le 24/01/2024, 13:59]
krodelabestiole [Configuration] + adresse webdav nextcloud
rclone [Le 06/06/2025, 10:13] (Version actuelle)
krodelabestiole rclone browser abandonné
Ligne 1: Ligne 1:
-{{tag>​synchronisation réseau internet cloud sauvegarde}}+{{tag>​synchronisation réseau internet ​fichiers ​cloud sauvegarde}}
  
 {{ :​logo:​rclone.png?​120|Logo de Rclone}} {{ :​logo:​rclone.png?​120|Logo de Rclone}}
Ligne 5: Ligne 5:
 ====== Rclone ====== ====== Rclone ======
  
-**[[wp>​Rclone]]** est un logiciel libre qui permet ​initialement ​de synchroniser des répertoires et des fichiers sur de nombreuses plateformes de stockage différentes. ​ Il dispose ​maintenant ​de très nombreuses fonctionnalités sur de très nombreuses plateformes.+**[[wp>​Rclone]]** est un logiciel libre qui permet de synchroniser des répertoires et des fichiers sur de nombreuses plateformes de stockage différentes. Il dispose ​en plus de nombreuses fonctionnalités ​de [[:​gestionnaire de fichiers|gestion de fichiers]] à distance ​sur de très nombreuses plateformes ​//​[[:​cloud]]//​.
  
-Initialement il offre un fonctionnement similaire à [[:rsync]] (il se présente lui-même comme "​rsync,​ pour le stockage cloud"​(([[https://​github.com/​rclone/​rclone|GitHub]] : //rsync for cloud storage//​))) : il rend la source et la destination identiques en ne modifiant que la destination.\\  +Initialement il offre un fonctionnement similaire à **[[:rsync]]** (il se présente lui-même comme "​rsync,​ pour le stockage cloud"​(([[https://​github.com/​rclone/​rclone|GitHub]] : //rsync for cloud storage//​))) : il rend la source et la destination identiques en ne modifiant que la destination.\\  
-Désormais il propose aussi de monter tous types de stockages distants en système de fichier, implémente différentes méthodes de synchronisation bidirectionnelle,​ et fournit ses propres implémentations optimisées d'​outils comme [[:​analyseur_usage_espace_disque#​en_mode_terminal|ncdu]].+Désormais il propose aussi de monter tous types de stockages distants en système de fichier, implémente différentes méthodes de synchronisation bidirectionnelle,​ et fournit ses propres implémentations optimisées d'​outils comme **[[:​analyseur_usage_espace_disque#​en_mode_terminal|ncdu]]**.
  
 C'est un outil en [[:​commande_shell|ligne de commande]], mais il existe des interfaces graphiques et il inclut lui-même une interface web. C'est un outil en [[:​commande_shell|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]].\\  +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è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 [[:​Samba|CIFS ​ou 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 [[:​Samba|CIFS ​SMB]]).
  
-R**CLONE** est extrêmement performant dans toutes ces 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 !).+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 !).
  
 Il prend en charge une quantité sidérante de protocoles et de fournisseurs de services [[:cloud]], dans la [[https://​github.com/​rclone/​rclone#​storage-providers|liste desquels]] on peut citer : Il prend en charge une quantité sidérante de protocoles et de fournisseurs de services [[:cloud]], dans la [[https://​github.com/​rclone/​rclone#​storage-providers|liste desquels]] on peut citer :
Ligne 46: Ligne 46:
  
 <note warning> <note warning>
-Ni R**CLONE**, ni Rclone Browser ne sont malheureusement ​traduits ​en français pour le moment. Il est donc compliqué de les utiliser sans maîtriser un minimum la langue de John Cleese. N'​hésitez pas à demander de l'aide sur le [[https://​forum.ubunut-fr.org|forum]] si besoin !+R**CLONE** ​n'​est ​malheureusement ​pas traduit ​en français pour le moment. Il est donc compliqué de l'utiliser sans maîtriser un minimum la langue de John Cleese. N'​hésitez pas à demander de l'aide sur le [[https://​forum.ubuntu-fr.org|forum]] si besoin !
 </​note>​ </​note>​
  
Ligne 52: Ligne 52:
  
 R**CLONE** est disponible dans les [[:​depots#​dépôts officiels]] d'​Ubuntu.\\ ​ R**CLONE** est disponible dans les [[:​depots#​dépôts officiels]] d'​Ubuntu.\\ ​
-Pour l'​installer il suffit donc d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ​**[[apt>​rclone]].**+Pour l'​installer il suffit donc d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ​''​[[apt>​rclone]]''​.
  
 R**CLONE** est aussi disponible en [[:Snap]] depuis [[https://​snapcraft.io/​rclone|Snapcraft]]. R**CLONE** est aussi disponible en [[:Snap]] depuis [[https://​snapcraft.io/​rclone|Snapcraft]].
 +
 +==== Dernière version ====
 +
 +Une fois installé, on peut mettre à jour le logiciel à sa dernière version stable très simplement grâce à la commande ''​[[https://​rclone.org/​commands/​rclone_selfupdate/​|selfupdate]]''​ :
 +<​code>​sudo rclone selfupdate</​code>​
  
 ===== Configuration ===== ===== Configuration =====
  
-On peut configurer ​R**CLONE** avec un outil interactif en ligne de commande.+La configuration de R**CLONE** ​se fait par défaut via le fichier ''​~/​.config/​rclone/​rclone.conf'', ​avec une entrée (un paragraphe) pour chaque "//​remote//"​ (il s'agit à chaque fois d'un espace de stockage distant). Le nom de l'​entrée est entre crochets ''​[]'',​ suivi des différents paramètres permettant ​de se connecter au service distant.
  
-Entrez la commande suivante  dans un [[:​terminal]] :+R**CLONE** dispose en plus d'un assistant interactif en ligne de commande, qui permet de créer facilement ces entrées dans le fichier de configuration. C'est probablement le plus pratique pour commencer.\\ 
 +Entrez la commande suivante dans un [[:​terminal]] :
  
   rclone config   rclone config
Ligne 67: Ligne 73:
  
   * Dans un premier temps tapez ''​n''​ pour //New remote// (nouveau stockage distant).   * Dans un premier temps tapez ''​n''​ pour //New remote// (nouveau stockage distant).
-  * Entrez ​le nom du stockage ​(pour vous y retrouver), par ex. ''​monServeur''​. +  * Entrez ​un identifiant au choix pour ce stockage, par ex. ''​monServeur''​. ​Évitez les espaces et les caractères spéciaux (accents, etc.) ! 
-  * 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. Si vous utilisez [[:​Nextcloud]] ou [[:​ownCloud]],​ choisissez //WebDAV// dans un premier temps, et pensez à récupérer [[:​nextcloud#​fichiers|l'​adresse WebDAV correcte]].((au sujet de [[:​Nextcloud]],​ voir [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22733253#​p22733253|ce message]] sur le forum))+  * Une liste impressionnante de protocoles ​et prestataires ​vous est proposée dans l'​ordre alphabétique. Choisissez celui que vous utilisez en tapant son numéro. 
 +    * Si vous utilisez [[:​Nextcloud]] ou [[:​ownCloud]],​ choisissez //WebDAV// dans un premier temps.((au sujet de [[:​Nextcloud]],​ voir [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22733253#​p22733253|ce message]] sur le forum))
   * En fonction du choix précédent vous devrez entrer des informations de connexion.   * En fonction du choix précédent vous devrez entrer des informations de connexion.
 +    * Si vous utilisez [[:​Nextcloud]] ou [[:​ownCloud]] prennez soin d'​indiquer [[:​nextcloud#​fichiers|l'​adresse WebDAV correcte]].
   * Pas besoin d'​éditer de configuration avancée : //Edit advanced config?// -> tapez ''​n''​ (ou simplement //​Entrée//​).   * 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.   * ''​y''​ ou //Entrée// pour valider la configuration.
Ligne 88: Ligne 96:
  
 <note tip>​Mettez un espace avant ''​ rclone obscure''​ afin d’éviter d’enregistrer votre mot de passe en clair dans l’[[:​bash#​bash_history|historique bash]] !</​note>​ <note tip>​Mettez un espace avant ''​ rclone obscure''​ afin d’éviter d’enregistrer votre mot de passe en clair dans l’[[:​bash#​bash_history|historique bash]] !</​note>​
 +
 +==== Exemples ====
 +
 +<file ini rclone.conf>​
 +[nextcloud]
 +type = webdav
 +url = https://​nextcloud.exemple.com/​remote.php/​dav/​files/​utilisateur
 +vendor = nextcloud
 +user = utilisateur
 +pass = ****************
 +
 +[serveur-sftp]
 +type = sftp
 +host = ftp.exemple.com
 +user = utilisateur
 +shell_type = unix
 +md5sum_command = md5sum
 +sha1sum_command = sha1sum
 +
 +[freebox-smb]
 +type = smb
 +host = freebox-server.local
 +user = guest
 +
 +[freebox-ftpes]
 +type = ftp
 +host = exemple.freeboxos.fr
 +user = freebox
 +port = 1234
 +pass = ****************
 +explicit_tls = true
 +
 +[kDrive]
 +type = webdav
 +url = https://​123456.connect.kdrive.infomaniak.com
 +vendor = Infomaniak
 +user = utilisateur@exemple.com
 +pass = ****************
 +
 +[put.io]
 +type = putio
 +token = {"​access_token":"​****************","​expiry":"​0001-01-01T00:​00:​00Z"​}
 +
 +[gdrive]
 +type = drive
 +client_id = 123456-abcdef123456.apps.googleusercontent.com
 +client_secret = XXXXXXXXXXXXXXXX
 +token = {"​access_token":"​XXXXXXXXXXXXXXXX","​token_type":"​Bearer","​refresh_token":"​XXXXXXXXXXXXXXXX","​expiry":"​0001-01-01T00:​00:​00.00+02:​00"​}
 +scope = drive
 +</​file>​
 +
 +Ces exemples sont évidemment à ajuster, en fonction des services auxquels on souhaite se connecter :
 +  * ''​utilisateur''​ correspond à un identifiant ou nom d'​utilisateur.
 +  * ''​exemple.com''​ correspond à un nom de domaine.
 +  * ''​1234''​ ou ''​123456''​ correspondent à des numéros de port, ou des identifiants uniques.
 +  * ''​XXXXXXXXXXXXXXXX''​ correspond à une clé unique.
 +  * ''​%%****************%%''​ correspond à un mot de passe chiffré au moyen de la commande ''​rclone obscure''​.
 +
 +<​note>​
 +Pour **Google Drive** (''​gdrive''​ dans ces exemples) l'​opération est complexe.
 +
 +Il faut créer un accès à l'​[[https://​console.cloud.google.com/​apis/​api/​drive.googleapis.com|API correspondante]]((Voir la [[https://​rclone.org/​drive/#​making-your-own-client-id|documentation Rclone]] en anglais, [[https://​developers.google.com/​workspace/​guides/​configure-oauth-consent?​hl=fr|celle de Google]] pourra aussi être utile.)) et soigneusement noter (dans un [[:​securite#​logiciels_de_gestion_de_mots_de_passe|gestionnaire de mots de passe]]) :
 +  * votre ''​ID client''​
 +  * et son ''​Code secret''​ associé.
 +Il vaut sans doute mieux renseigner ces informations avec la commande ''​rclone config''​ (plutôt qu'​éditer directement le fichier de configuration),​ car R**CLONE** doit encore ouvrir une page du navigateur afin d'​autoriser sa connexion chez Google et de générer le ''​token''​.\\
 +Sinon pour cette dernière opération on peut aussi utiliser la commande :
 +<​code>​rclone config reconnect gdrive:</​code>​
 +
 +----
 +
 +La connexion aux autres services est //​beaucoup//​ plus simple à configurer. N'​hésitez donc pas à opter pour un [[:cloud |service cloud]] respectueux de votre [[:​anonymat#​cloud|vie privée]] (et de celle de vos correspondants) !
 +</​note>​
  
 ==== Test ==== ==== Test ====
  
-Ces commandes peuvent être utile pour tester votre configuration :+Ces commandes peuvent être utiles ​pour tester votre configuration :
  
   * ''​rclone listremotes''​ permet de lister les stockages distants configurés.   * ''​rclone listremotes''​ permet de lister les stockages distants configurés.
-  * Vous pouvez adapter la commande ''​rclone about monServeur:''​ pour obtenir des informations sur le service (espace disponible). Ceci permet de confirmer que votre service est bien configuré.+  * Vous pouvez adapter la commande ''​rclone about monServeur:''​ pour obtenir des informations sur le service (espace disponible). Ceci permet ​aussi de confirmer que votre service est bien configuré.
   * ''​rclone ls monServeur:''​ permet de lister les fichiers et répertoires du stockage distant (comme avec la commande [[:​tutoriel:​console_commandes_de_base#​ls]]).   * ''​rclone ls monServeur:''​ permet de lister les fichiers et répertoires du stockage distant (comme avec la commande [[:​tutoriel:​console_commandes_de_base#​ls]]).
 +  * L'​option ''​%%--%%dry-run''​ permet d'​afficher le retour d'une commande sans l'​exécuter effectivement.
 +  * ''​rclone check''​ affiche également la différence d'​état entre les fichiers locaux et distants. ​
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 110: Ligne 192:
 Chaque ''​[source]''​ ou ''​[destination]''​ peut être un [[:​chemins|chemin]] //local// ou //​distant//​. 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 ​(''​monServeur'' ​dans l'exemple précédent).+Les chemins distants seront de la forme ''​[service]:​[chemin]'',​ ''​[service]''​ étant le nom du service choisi lors de la configuration.\\ 
 +Par exemple : ''​monServeur:/​chemin/​absolu'' ​ou ''​monServeur:​chemin/​relatif'​'.
  
-<note tip>Dans un premier temps vous pouvez tester votre commande sans danger et sans toucher à aucun fichiers avec l'​option ''​--dry-run''​ : +<note tip>Dans un premier temps vous pouvez tester votre commande sans danger et sans toucher à aucun fichiers avec l'​option ''​%%--%%dry-run''​ : 
 <​code>​rclone sync --update --progress --dry-run [source] [destination]</​code></​note>​ <​code>​rclone sync --update --progress --dry-run [source] [destination]</​code></​note>​
  
Ligne 214: Ligne 297:
 </​code>​ </​code>​
  
-===== Serveur ​=====+==== Serveur ====
  
 La commande ''​rclone serve''​ permet d'​utiliser R**CLONE** comme [[:​serveur]],​ pour mettre à disposition le stockage de différentes manières.((**(//​en//​)** [[https://​rclone.org/​commands/​rclone_serve/​|documentation rclone serve]])) La commande ''​rclone serve''​ permet d'​utiliser R**CLONE** comme [[:​serveur]],​ pour mettre à disposition le stockage de différentes manières.((**(//​en//​)** [[https://​rclone.org/​commands/​rclone_serve/​|documentation rclone serve]]))
  
-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 à un autre !+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) ​!
  
 ===== Interface graphique ===== ===== Interface graphique =====
  
 Il est aussi possible d'​utiliser R**CLONE** graphiquement : Il est aussi possible d'​utiliser R**CLONE** graphiquement :
 +  * R**CLONE** propose nativement une interface web. Vous pouvez la lancer et l'​ouvrir dans votre navigateur avec la commande : <​code>​rclone rcd --rc-web-gui</​code>​
 +  * **[[https://​github.com/​pieterdd/​RcloneShuttle|Rclone Shuttle]]** est une interface GTK, donc idéale pour [[:GNOME]], disponible en [[:​Flatpak]] depuis [[https://​flathub.org/​apps/​io.github.pieterdd.RcloneShuttle|Flathub]].
 +
 +<note tip>On peut aussi évidemment utiliser le [[:​gestionnaire de fichiers]] de son choix, tel que [[:​nautilus|GNOME Fichiers]], en [[#​montage|montant]] le stockage distant en système de fichiers.</​note>​
 +
 +===== Problèmes connus =====
 +
 +==== Impossible de mettre à jour automatiquement ====
 +
 +Il arrive que la commande :
 +  rclone selfupdate
 +
 +retourne une erreur du type :
 +  Error: failed to update rclone: invalid hashsum signature
 +
 +Ceci est dû à un changement de bibliothèque récent.((**[[wpfr>​OpenPGP]]**,​ voir cette [[https://​github.com/​rclone/​rclone/​issues/​7373|issue GitHub]]))
  
-  ​* [[https://kapitainsky.github.io/RcloneBrowser/|Rclone Browser]] est disponible dans les [[:depots#​sections_universe_et_multiverse_maintenues_par_les_motu|dépôts universe]] d'UbuntuVous pouvez donc [[:tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​rclone-browser]].** +La solution est de mettre à jour R**CLONE** manuellement.\\ 
-  ​* R**CLONE** propose lui-même une interface web. Vous pouvez la lancer et l'​ouvrir dans votre navigateur avec la commande : <​code>​rclone ​rcd --rc-web-gui</​code>​+Vous pouvez télécharger sur [[https://​github.com/rclone/​rclone/releases|GitHub]] la dernière version du paquet ​[[:deb]] qui correspond à votre système (généralement ​''​linux-amd64.deb''​),​ et l'​installer,​ avec par exemple ​[[:gdebi]], ou en ligne de commande avec [[:dpkg]] : 
 +  ​sudo dpkg -i ~/​Téléchargements/​rclone-*-linux-amd64.deb
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 232: Ligne 332:
   * [[https://​github.com/​rclone/​rclone|sources sur GitHub]]   * [[https://​github.com/​rclone/​rclone|sources sur GitHub]]
   * 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.
  
 ---- ----
 //​Contributeur : [[:​utilisateurs:​krodelabestiole]]//​ //​Contributeur : [[:​utilisateurs:​krodelabestiole]]//​
  • rclone.1706101147.txt.gz
  • Dernière modification: Le 24/01/2024, 13:59
  • par krodelabestiole